aboutsummaryrefslogtreecommitdiff
path: root/google/ads/googleads/v0/errors/errors.proto
blob: b08a50fd9261c18ca2d1669cc2a7590ec06cec96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
// Copyright 2018 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.


// Proto file describing the common error protos
syntax = "proto3";

package google.ads.googleads.v0.errors;

import "google/ads/googleads/v0/common/policy.proto";
import "google/ads/googleads/v0/common/value.proto";
import "google/ads/googleads/v0/errors/ad_customizer_error.proto";
import "google/ads/googleads/v0/errors/ad_error.proto";
import "google/ads/googleads/v0/errors/ad_group_ad_error.proto";
import "google/ads/googleads/v0/errors/ad_group_bid_modifier_error.proto";
import "google/ads/googleads/v0/errors/ad_group_criterion_error.proto";
import "google/ads/googleads/v0/errors/ad_group_error.proto";
import "google/ads/googleads/v0/errors/ad_sharing_error.proto";
import "google/ads/googleads/v0/errors/adx_error.proto";
import "google/ads/googleads/v0/errors/authentication_error.proto";
import "google/ads/googleads/v0/errors/authorization_error.proto";
import "google/ads/googleads/v0/errors/bidding_error.proto";
import "google/ads/googleads/v0/errors/bidding_strategy_error.proto";
import "google/ads/googleads/v0/errors/campaign_budget_error.proto";
import "google/ads/googleads/v0/errors/campaign_criterion_error.proto";
import "google/ads/googleads/v0/errors/campaign_error.proto";
import "google/ads/googleads/v0/errors/collection_size_error.proto";
import "google/ads/googleads/v0/errors/context_error.proto";
import "google/ads/googleads/v0/errors/criterion_error.proto";
import "google/ads/googleads/v0/errors/date_error.proto";
import "google/ads/googleads/v0/errors/date_range_error.proto";
import "google/ads/googleads/v0/errors/distinct_error.proto";
import "google/ads/googleads/v0/errors/feed_attribute_reference_error.proto";
import "google/ads/googleads/v0/errors/field_error.proto";
import "google/ads/googleads/v0/errors/field_mask_error.proto";
import "google/ads/googleads/v0/errors/function_error.proto";
import "google/ads/googleads/v0/errors/function_parsing_error.proto";
import "google/ads/googleads/v0/errors/id_error.proto";
import "google/ads/googleads/v0/errors/image_error.proto";
import "google/ads/googleads/v0/errors/internal_error.proto";
import "google/ads/googleads/v0/errors/list_operation_error.proto";
import "google/ads/googleads/v0/errors/media_bundle_error.proto";
import "google/ads/googleads/v0/errors/media_error.proto";
import "google/ads/googleads/v0/errors/multiplier_error.proto";
import "google/ads/googleads/v0/errors/mutate_error.proto";
import "google/ads/googleads/v0/errors/new_resource_creation_error.proto";
import "google/ads/googleads/v0/errors/not_empty_error.proto";
import "google/ads/googleads/v0/errors/null_error.proto";
import "google/ads/googleads/v0/errors/operation_access_denied_error.proto";
import "google/ads/googleads/v0/errors/operator_error.proto";
import "google/ads/googleads/v0/errors/query_error.proto";
import "google/ads/googleads/v0/errors/quota_error.proto";
import "google/ads/googleads/v0/errors/range_error.proto";
import "google/ads/googleads/v0/errors/recommendation_error.proto";
import "google/ads/googleads/v0/errors/region_code_error.proto";
import "google/ads/googleads/v0/errors/request_error.proto";
import "google/ads/googleads/v0/errors/resource_access_denied_error.proto";
import
  "google/ads/googleads/v0/errors/resource_count_limit_exceeded_error.proto";
import "google/ads/googleads/v0/errors/setting_error.proto";
import "google/ads/googleads/v0/errors/string_format_error.proto";
import "google/ads/googleads/v0/errors/string_length_error.proto";
import "google/ads/googleads/v0/errors/url_field_error.proto";
import "google/protobuf/wrappers.proto";

option java_package = "com.google.ads.googleads.v0.errors";
option java_outer_classname = "ErrorsProto";
option java_multiple_files = true;

// Objective-C prefix. Google Ads API.
option objc_class_prefix = "GAA";
option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
option php_metadata_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";

// Describes how a GoogleAds API call failed. It's returned inside
// google.rpc.Status.details when a call fails.
message GoogleAdsFailure {

  // The list of errors that occurred.
  repeated GoogleAdsError errors = 1;
}

// GoogleAds-specific error.
message GoogleAdsError {

  // An enum value that indicates which error occurred.
  ErrorCode error_code = 1;

  // A human-readable description of the error.
  string message = 2;

  // The value that triggered the error.
  common.Value trigger = 3;

  // Describes the part of the request proto that caused the error.
  ErrorLocation location = 4;

  // Additional error details, which are returned by certain error codes. Most
  // error codes do not include details.
  ErrorDetails details = 5;
}

// The error reason represented by type and enum.
message ErrorCode {

  // The list of error enums
  oneof error_code {

    // An error caused by the request
    RequestErrorEnum.RequestError request_error = 1;

    // An error with a Bidding Strategy mutate.
    BiddingStrategyErrorEnum.BiddingStrategyError bidding_strategy_error = 2;

    // An error with a URL field mutate.
    UrlFieldErrorEnum.UrlFieldError url_field_error = 3;

    // An error with a list operation.
    ListOperationErrorEnum.ListOperationError list_operation_error = 4;

    // An error with an AWQL query
    QueryErrorEnum.QueryError query_error = 5;

    // An error with a mutate
    MutateErrorEnum.MutateError mutate_error = 7;

    // An error with a field mask
    FieldMaskErrorEnum.FieldMaskError field_mask_error = 8;

    // An error encountered when trying to authorize a user.
    AuthorizationErrorEnum.AuthorizationError authorization_error = 9;

    // An unexpected server-side error.
    InternalErrorEnum.InternalError internal_error = 10;

    // An error with the amonut of quota remaining.
    QuotaErrorEnum.QuotaError quota_error = 11;

    // An error with an Ad Group Ad mutate.
    AdErrorEnum.AdError ad_error = 12;

    // An error with an Ad Group mutate.
    AdGroupErrorEnum.AdGroupError ad_group_error = 13;

    // An error with a Campaign Budget mutate.
    CampaignBudgetErrorEnum.CampaignBudgetError campaign_budget_error = 14;

    // An error with a Campaign mutate.
    CampaignErrorEnum.CampaignError campaign_error = 15;

    // Indicates failure to properly authenticate user.
    AuthenticationErrorEnum.AuthenticationError authentication_error = 17;

    // Indicates failure to properly authenticate user.
    AdGroupCriterionErrorEnum.AdGroupCriterionError ad_group_criterion_error =
      18;

    // The reasons for the ad customizer error
    AdCustomizerErrorEnum.AdCustomizerError ad_customizer_error = 19;

    // The reasons for the ad group ad error
    AdGroupAdErrorEnum.AdGroupAdError ad_group_ad_error = 21;

    // The reasons for the ad sharing error
    AdSharingErrorEnum.AdSharingError ad_sharing_error = 24;

    // The reasons for the adx error
    AdxErrorEnum.AdxError adx_error = 25;

    // The reasons for the bidding errors
    BiddingErrorEnum.BiddingError bidding_error = 26;

    // The reasons for the campaign criterion error
    CampaignCriterionErrorEnum.CampaignCriterionError campaign_criterion_error =
      29;

    // The reasons for the collection size error
    CollectionSizeErrorEnum.CollectionSizeError collection_size_error = 31;

    // The reasons for the criterion error
    CriterionErrorEnum.CriterionError criterion_error = 32;

    // The reasons for the date error
    DateErrorEnum.DateError date_error = 33;

    // The reasons for the date range error
    DateRangeErrorEnum.DateRangeError date_range_error = 34;

    // The reasons for the distinct error
    DistinctErrorEnum.DistinctError distinct_error = 35;

    // The reasons for the feed attribute reference error
    FeedAttributeReferenceErrorEnum.FeedAttributeReferenceError
      feed_attribute_reference_error = 36;

    // The reasons for the function error
    FunctionErrorEnum.FunctionError function_error = 37;

    // The reasons for the function parsing error
    FunctionParsingErrorEnum.FunctionParsingError function_parsing_error = 38;

    // The reasons for the id error
    IdErrorEnum.IdError id_error = 39;

    // The reasons for the image error
    ImageErrorEnum.ImageError image_error = 40;

    // The reasons for the media bundle error
    MediaBundleErrorEnum.MediaBundleError media_bundle_error = 42;

    // The reasons for the media error
    MediaErrorEnum.MediaError media_error = 43;

    // The reasons for the multiplier error
    MultiplierErrorEnum.MultiplierError multiplier_error = 44;

    // The reasons for the new resource creation error
    NewResourceCreationErrorEnum.NewResourceCreationError
      new_resource_creation_error = 45;

    // The reasons for the not empty error
    NotEmptyErrorEnum.NotEmptyError not_empty_error = 46;

    // The reasons for the null error
    NullErrorEnum.NullError null_error = 47;

    // The reasons for the operator error
    OperatorErrorEnum.OperatorError operator_error = 48;

    // The reasons for the range error
    RangeErrorEnum.RangeError range_error = 49;

    // The reasons for error in applying a recommendation
    RecommendationErrorEnum.RecommendationError recommendation_error = 58;

    // The reasons for the region code error
    RegionCodeErrorEnum.RegionCodeError region_code_error = 51;

    // The reasons for the setting error
    SettingErrorEnum.SettingError setting_error = 52;

    // The reasons for the string format error
    StringFormatErrorEnum.StringFormatError string_format_error = 53;

    // The reasons for the string length error
    StringLengthErrorEnum.StringLengthError string_length_error = 54;

    // The reasons for the operation access denied error
    OperationAccessDeniedErrorEnum.OperationAccessDeniedError
      operation_access_denied_error = 55;

    // The reasons for the resource access denied error
    ResourceAccessDeniedErrorEnum.ResourceAccessDeniedError
      resource_access_denied_error = 56;

    // The reasons for the resource count limit exceeded error
    ResourceCountLimitExceededErrorEnum.ResourceCountLimitExceededError
      resource_count_limit_exceeded_error = 57;

    // The reasons for the ad group bid modifier error
    AdGroupBidModifierErrorEnum.AdGroupBidModifierError
      ad_group_bid_modifier_error = 59;

    // The reasons for the context error
    ContextErrorEnum.ContextError context_error = 60;

    // The reasons for the field error
    FieldErrorEnum.FieldError field_error = 61;
  }
}

// Describes the part of the request proto that caused the error.
message ErrorLocation {

  // The mutate operation that failed
  google.protobuf.Int64Value operation_index = 1;

  // A field path that indicates which field was invalid in the resource being
  // mutated.
  repeated FieldPathElement field_path_elements = 2;

  // A part of a field path.
  message FieldPathElement {

    // The name of a field
    string field_name = 1;

    // If field_name is a list, this is the element that failed
    google.protobuf.Int64Value index = 2;
  }
}

// Additional error details.
message ErrorDetails {

  // The error code that should have been returned, but wasn't. This is used
  // when the error code is InternalError.ERROR_CODE_NOT_PUBLISHED.
  string unpublished_error_code = 1;

  // Describes an ad policy violation.
  PolicyViolationDetails policy_violation_details = 2;
}

// Error returned as part of a mutate response.
// This error indicates single policy violation by some text
// in one of the fields.
message PolicyViolationDetails {

  // Human readable description of policy violation.
  string external_policy_description = 2;

  // Unique identifier for this violation.
  // If policy is exemptible, this key may be used to request exemption.
  common.PolicyViolationKey key = 4;

  // Human readable name of the policy.
  string external_policy_name = 5;

  // Whether user can file an exemption request for this violation.
  bool is_exemptible = 6;
}