xref: /aosp_15_r20/external/googleapis/google/analytics/admin/v1alpha/analytics_admin.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1// Copyright 2023 Google LLC
2//
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
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
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.
14
15syntax = "proto3";
16
17package google.analytics.admin.v1alpha;
18
19import "google/analytics/admin/v1alpha/access_report.proto";
20import "google/analytics/admin/v1alpha/audience.proto";
21import "google/analytics/admin/v1alpha/channel_group.proto";
22import "google/analytics/admin/v1alpha/event_create_and_edit.proto";
23import "google/analytics/admin/v1alpha/expanded_data_set.proto";
24import "google/analytics/admin/v1alpha/resources.proto";
25import "google/analytics/admin/v1alpha/subproperty_event_filter.proto";
26import "google/api/annotations.proto";
27import "google/api/client.proto";
28import "google/api/field_behavior.proto";
29import "google/api/resource.proto";
30import "google/protobuf/empty.proto";
31import "google/protobuf/field_mask.proto";
32import "google/protobuf/timestamp.proto";
33
34option go_package = "cloud.google.com/go/analytics/admin/apiv1alpha/adminpb;adminpb";
35option java_multiple_files = true;
36option java_outer_classname = "AnalyticsAdminProto";
37option java_package = "com.google.analytics.admin.v1alpha";
38
39// Service Interface for the Analytics Admin API (GA4).
40service AnalyticsAdminService {
41  option (google.api.default_host) = "analyticsadmin.googleapis.com";
42  option (google.api.oauth_scopes) =
43      "https://www.googleapis.com/auth/analytics.edit,"
44      "https://www.googleapis.com/auth/analytics.manage.users,"
45      "https://www.googleapis.com/auth/analytics.manage.users.readonly,"
46      "https://www.googleapis.com/auth/analytics.readonly";
47
48  // Lookup for a single Account.
49  rpc GetAccount(GetAccountRequest) returns (Account) {
50    option (google.api.http) = {
51      get: "/v1alpha/{name=accounts/*}"
52    };
53    option (google.api.method_signature) = "name";
54  }
55
56  // Returns all accounts accessible by the caller.
57  //
58  // Note that these accounts might not currently have GA4 properties.
59  // Soft-deleted (ie: "trashed") accounts are excluded by default.
60  // Returns an empty list if no relevant accounts are found.
61  rpc ListAccounts(ListAccountsRequest) returns (ListAccountsResponse) {
62    option (google.api.http) = {
63      get: "/v1alpha/accounts"
64    };
65  }
66
67  // Marks target Account as soft-deleted (ie: "trashed") and returns it.
68  //
69  // This API does not have a method to restore soft-deleted accounts.
70  // However, they can be restored using the Trash Can UI.
71  //
72  // If the accounts are not restored before the expiration time, the account
73  // and all child resources (eg: Properties, GoogleAdsLinks, Streams,
74  // AccessBindings) will be permanently purged.
75  // https://support.google.com/analytics/answer/6154772
76  //
77  // Returns an error if the target is not found.
78  rpc DeleteAccount(DeleteAccountRequest) returns (google.protobuf.Empty) {
79    option (google.api.http) = {
80      delete: "/v1alpha/{name=accounts/*}"
81    };
82    option (google.api.method_signature) = "name";
83  }
84
85  // Updates an account.
86  rpc UpdateAccount(UpdateAccountRequest) returns (Account) {
87    option (google.api.http) = {
88      patch: "/v1alpha/{account.name=accounts/*}"
89      body: "account"
90    };
91    option (google.api.method_signature) = "account,update_mask";
92  }
93
94  // Requests a ticket for creating an account.
95  rpc ProvisionAccountTicket(ProvisionAccountTicketRequest)
96      returns (ProvisionAccountTicketResponse) {
97    option (google.api.http) = {
98      post: "/v1alpha/accounts:provisionAccountTicket"
99      body: "*"
100    };
101  }
102
103  // Returns summaries of all accounts accessible by the caller.
104  rpc ListAccountSummaries(ListAccountSummariesRequest)
105      returns (ListAccountSummariesResponse) {
106    option (google.api.http) = {
107      get: "/v1alpha/accountSummaries"
108    };
109  }
110
111  // Lookup for a single "GA4" Property.
112  rpc GetProperty(GetPropertyRequest) returns (Property) {
113    option (google.api.http) = {
114      get: "/v1alpha/{name=properties/*}"
115    };
116    option (google.api.method_signature) = "name";
117  }
118
119  // Returns child Properties under the specified parent Account.
120  //
121  // Only "GA4" properties will be returned.
122  // Properties will be excluded if the caller does not have access.
123  // Soft-deleted (ie: "trashed") properties are excluded by default.
124  // Returns an empty list if no relevant properties are found.
125  rpc ListProperties(ListPropertiesRequest) returns (ListPropertiesResponse) {
126    option (google.api.http) = {
127      get: "/v1alpha/properties"
128    };
129  }
130
131  // Creates an "GA4" property with the specified location and attributes.
132  rpc CreateProperty(CreatePropertyRequest) returns (Property) {
133    option (google.api.http) = {
134      post: "/v1alpha/properties"
135      body: "property"
136    };
137    option (google.api.method_signature) = "property";
138  }
139
140  // Marks target Property as soft-deleted (ie: "trashed") and returns it.
141  //
142  // This API does not have a method to restore soft-deleted properties.
143  // However, they can be restored using the Trash Can UI.
144  //
145  // If the properties are not restored before the expiration time, the Property
146  // and all child resources (eg: GoogleAdsLinks, Streams, AccessBindings)
147  // will be permanently purged.
148  // https://support.google.com/analytics/answer/6154772
149  //
150  // Returns an error if the target is not found, or is not a GA4 Property.
151  rpc DeleteProperty(DeletePropertyRequest) returns (Property) {
152    option (google.api.http) = {
153      delete: "/v1alpha/{name=properties/*}"
154    };
155    option (google.api.method_signature) = "name";
156  }
157
158  // Updates a property.
159  rpc UpdateProperty(UpdatePropertyRequest) returns (Property) {
160    option (google.api.http) = {
161      patch: "/v1alpha/{property.name=properties/*}"
162      body: "property"
163    };
164    option (google.api.method_signature) = "property,update_mask";
165  }
166
167  // Creates a FirebaseLink.
168  //
169  // Properties can have at most one FirebaseLink.
170  rpc CreateFirebaseLink(CreateFirebaseLinkRequest) returns (FirebaseLink) {
171    option (google.api.http) = {
172      post: "/v1alpha/{parent=properties/*}/firebaseLinks"
173      body: "firebase_link"
174    };
175    option (google.api.method_signature) = "parent,firebase_link";
176  }
177
178  // Deletes a FirebaseLink on a property
179  rpc DeleteFirebaseLink(DeleteFirebaseLinkRequest)
180      returns (google.protobuf.Empty) {
181    option (google.api.http) = {
182      delete: "/v1alpha/{name=properties/*/firebaseLinks/*}"
183    };
184    option (google.api.method_signature) = "name";
185  }
186
187  // Lists FirebaseLinks on a property.
188  // Properties can have at most one FirebaseLink.
189  rpc ListFirebaseLinks(ListFirebaseLinksRequest)
190      returns (ListFirebaseLinksResponse) {
191    option (google.api.http) = {
192      get: "/v1alpha/{parent=properties/*}/firebaseLinks"
193    };
194    option (google.api.method_signature) = "parent";
195  }
196
197  // Returns the Site Tag for the specified web stream.
198  // Site Tags are immutable singletons.
199  rpc GetGlobalSiteTag(GetGlobalSiteTagRequest) returns (GlobalSiteTag) {
200    option (google.api.http) = {
201      get: "/v1alpha/{name=properties/*/dataStreams/*/globalSiteTag}"
202    };
203    option (google.api.method_signature) = "name";
204  }
205
206  // Creates a GoogleAdsLink.
207  rpc CreateGoogleAdsLink(CreateGoogleAdsLinkRequest) returns (GoogleAdsLink) {
208    option (google.api.http) = {
209      post: "/v1alpha/{parent=properties/*}/googleAdsLinks"
210      body: "google_ads_link"
211    };
212    option (google.api.method_signature) = "parent,google_ads_link";
213  }
214
215  // Updates a GoogleAdsLink on a property
216  rpc UpdateGoogleAdsLink(UpdateGoogleAdsLinkRequest) returns (GoogleAdsLink) {
217    option (google.api.http) = {
218      patch: "/v1alpha/{google_ads_link.name=properties/*/googleAdsLinks/*}"
219      body: "google_ads_link"
220    };
221    option (google.api.method_signature) = "google_ads_link,update_mask";
222  }
223
224  // Deletes a GoogleAdsLink on a property
225  rpc DeleteGoogleAdsLink(DeleteGoogleAdsLinkRequest)
226      returns (google.protobuf.Empty) {
227    option (google.api.http) = {
228      delete: "/v1alpha/{name=properties/*/googleAdsLinks/*}"
229    };
230    option (google.api.method_signature) = "name";
231  }
232
233  // Lists GoogleAdsLinks on a property.
234  rpc ListGoogleAdsLinks(ListGoogleAdsLinksRequest)
235      returns (ListGoogleAdsLinksResponse) {
236    option (google.api.http) = {
237      get: "/v1alpha/{parent=properties/*}/googleAdsLinks"
238    };
239    option (google.api.method_signature) = "parent";
240  }
241
242  // Get data sharing settings on an account.
243  // Data sharing settings are singletons.
244  rpc GetDataSharingSettings(GetDataSharingSettingsRequest)
245      returns (DataSharingSettings) {
246    option (google.api.http) = {
247      get: "/v1alpha/{name=accounts/*/dataSharingSettings}"
248    };
249    option (google.api.method_signature) = "name";
250  }
251
252  // Lookup for a single "GA4" MeasurementProtocolSecret.
253  rpc GetMeasurementProtocolSecret(GetMeasurementProtocolSecretRequest)
254      returns (MeasurementProtocolSecret) {
255    option (google.api.http) = {
256      get: "/v1alpha/{name=properties/*/dataStreams/*/measurementProtocolSecrets/*}"
257    };
258    option (google.api.method_signature) = "name";
259  }
260
261  // Returns child MeasurementProtocolSecrets under the specified parent
262  // Property.
263  rpc ListMeasurementProtocolSecrets(ListMeasurementProtocolSecretsRequest)
264      returns (ListMeasurementProtocolSecretsResponse) {
265    option (google.api.http) = {
266      get: "/v1alpha/{parent=properties/*/dataStreams/*}/measurementProtocolSecrets"
267    };
268    option (google.api.method_signature) = "parent";
269  }
270
271  // Creates a measurement protocol secret.
272  rpc CreateMeasurementProtocolSecret(CreateMeasurementProtocolSecretRequest)
273      returns (MeasurementProtocolSecret) {
274    option (google.api.http) = {
275      post: "/v1alpha/{parent=properties/*/dataStreams/*}/measurementProtocolSecrets"
276      body: "measurement_protocol_secret"
277    };
278    option (google.api.method_signature) = "parent,measurement_protocol_secret";
279  }
280
281  // Deletes target MeasurementProtocolSecret.
282  rpc DeleteMeasurementProtocolSecret(DeleteMeasurementProtocolSecretRequest)
283      returns (google.protobuf.Empty) {
284    option (google.api.http) = {
285      delete: "/v1alpha/{name=properties/*/dataStreams/*/measurementProtocolSecrets/*}"
286    };
287    option (google.api.method_signature) = "name";
288  }
289
290  // Updates a measurement protocol secret.
291  rpc UpdateMeasurementProtocolSecret(UpdateMeasurementProtocolSecretRequest)
292      returns (MeasurementProtocolSecret) {
293    option (google.api.http) = {
294      patch: "/v1alpha/{measurement_protocol_secret.name=properties/*/dataStreams/*/measurementProtocolSecrets/*}"
295      body: "measurement_protocol_secret"
296    };
297    option (google.api.method_signature) =
298        "measurement_protocol_secret,update_mask";
299  }
300
301  // Acknowledges the terms of user data collection for the specified property.
302  //
303  // This acknowledgement must be completed (either in the Google Analytics UI
304  // or through this API) before MeasurementProtocolSecret resources may be
305  // created.
306  rpc AcknowledgeUserDataCollection(AcknowledgeUserDataCollectionRequest)
307      returns (AcknowledgeUserDataCollectionResponse) {
308    option (google.api.http) = {
309      post: "/v1alpha/{property=properties/*}:acknowledgeUserDataCollection"
310      body: "*"
311    };
312  }
313
314  // Looks up a single SKAdNetworkConversionValueSchema.
315  rpc GetSKAdNetworkConversionValueSchema(
316      GetSKAdNetworkConversionValueSchemaRequest)
317      returns (SKAdNetworkConversionValueSchema) {
318    option (google.api.http) = {
319      get: "/v1alpha/{name=properties/*/dataStreams/*/sKAdNetworkConversionValueSchema/*}"
320    };
321    option (google.api.method_signature) = "name";
322  }
323
324  // Creates a SKAdNetworkConversionValueSchema.
325  rpc CreateSKAdNetworkConversionValueSchema(
326      CreateSKAdNetworkConversionValueSchemaRequest)
327      returns (SKAdNetworkConversionValueSchema) {
328    option (google.api.http) = {
329      post: "/v1alpha/{parent=properties/*/dataStreams/*}/sKAdNetworkConversionValueSchema"
330      body: "skadnetwork_conversion_value_schema"
331    };
332    option (google.api.method_signature) =
333        "parent,skadnetwork_conversion_value_schema";
334  }
335
336  // Deletes target SKAdNetworkConversionValueSchema.
337  rpc DeleteSKAdNetworkConversionValueSchema(
338      DeleteSKAdNetworkConversionValueSchemaRequest)
339      returns (google.protobuf.Empty) {
340    option (google.api.http) = {
341      delete: "/v1alpha/{name=properties/*/dataStreams/*/sKAdNetworkConversionValueSchema/*}"
342    };
343    option (google.api.method_signature) = "name";
344  }
345
346  // Updates a SKAdNetworkConversionValueSchema.
347  rpc UpdateSKAdNetworkConversionValueSchema(
348      UpdateSKAdNetworkConversionValueSchemaRequest)
349      returns (SKAdNetworkConversionValueSchema) {
350    option (google.api.http) = {
351      patch: "/v1alpha/{skadnetwork_conversion_value_schema.name=properties/*/dataStreams/*/sKAdNetworkConversionValueSchema/*}"
352      body: "skadnetwork_conversion_value_schema"
353    };
354    option (google.api.method_signature) =
355        "skadnetwork_conversion_value_schema,update_mask";
356  }
357
358  // Lists SKAdNetworkConversionValueSchema on a stream.
359  // Properties can have at most one SKAdNetworkConversionValueSchema.
360  rpc ListSKAdNetworkConversionValueSchemas(
361      ListSKAdNetworkConversionValueSchemasRequest)
362      returns (ListSKAdNetworkConversionValueSchemasResponse) {
363    option (google.api.http) = {
364      get: "/v1alpha/{parent=properties/*/dataStreams/*}/sKAdNetworkConversionValueSchema"
365    };
366    option (google.api.method_signature) = "parent";
367  }
368
369  // Searches through all changes to an account or its children given the
370  // specified set of filters.
371  rpc SearchChangeHistoryEvents(SearchChangeHistoryEventsRequest)
372      returns (SearchChangeHistoryEventsResponse) {
373    option (google.api.http) = {
374      post: "/v1alpha/{account=accounts/*}:searchChangeHistoryEvents"
375      body: "*"
376    };
377  }
378
379  // Lookup for Google Signals settings for a property.
380  rpc GetGoogleSignalsSettings(GetGoogleSignalsSettingsRequest)
381      returns (GoogleSignalsSettings) {
382    option (google.api.http) = {
383      get: "/v1alpha/{name=properties/*/googleSignalsSettings}"
384    };
385    option (google.api.method_signature) = "name";
386  }
387
388  // Updates Google Signals settings for a property.
389  rpc UpdateGoogleSignalsSettings(UpdateGoogleSignalsSettingsRequest)
390      returns (GoogleSignalsSettings) {
391    option (google.api.http) = {
392      patch: "/v1alpha/{google_signals_settings.name=properties/*/googleSignalsSettings}"
393      body: "google_signals_settings"
394    };
395    option (google.api.method_signature) =
396        "google_signals_settings,update_mask";
397  }
398
399  // Creates a conversion event with the specified attributes.
400  rpc CreateConversionEvent(CreateConversionEventRequest)
401      returns (ConversionEvent) {
402    option (google.api.http) = {
403      post: "/v1alpha/{parent=properties/*}/conversionEvents"
404      body: "conversion_event"
405    };
406    option (google.api.method_signature) = "parent,conversion_event";
407  }
408
409  // Updates a conversion event with the specified attributes.
410  rpc UpdateConversionEvent(UpdateConversionEventRequest)
411      returns (ConversionEvent) {
412    option (google.api.http) = {
413      patch: "/v1alpha/{conversion_event.name=properties/*/conversionEvents/*}"
414      body: "conversion_event"
415    };
416    option (google.api.method_signature) = "conversion_event,update_mask";
417  }
418
419  // Retrieve a single conversion event.
420  rpc GetConversionEvent(GetConversionEventRequest) returns (ConversionEvent) {
421    option (google.api.http) = {
422      get: "/v1alpha/{name=properties/*/conversionEvents/*}"
423    };
424    option (google.api.method_signature) = "name";
425  }
426
427  // Deletes a conversion event in a property.
428  rpc DeleteConversionEvent(DeleteConversionEventRequest)
429      returns (google.protobuf.Empty) {
430    option (google.api.http) = {
431      delete: "/v1alpha/{name=properties/*/conversionEvents/*}"
432    };
433    option (google.api.method_signature) = "name";
434  }
435
436  // Returns a list of conversion events in the specified parent property.
437  //
438  // Returns an empty list if no conversion events are found.
439  rpc ListConversionEvents(ListConversionEventsRequest)
440      returns (ListConversionEventsResponse) {
441    option (google.api.http) = {
442      get: "/v1alpha/{parent=properties/*}/conversionEvents"
443    };
444    option (google.api.method_signature) = "parent";
445  }
446
447  // Look up a single DisplayVideo360AdvertiserLink
448  rpc GetDisplayVideo360AdvertiserLink(GetDisplayVideo360AdvertiserLinkRequest)
449      returns (DisplayVideo360AdvertiserLink) {
450    option (google.api.http) = {
451      get: "/v1alpha/{name=properties/*/displayVideo360AdvertiserLinks/*}"
452    };
453    option (google.api.method_signature) = "name";
454  }
455
456  // Lists all DisplayVideo360AdvertiserLinks on a property.
457  rpc ListDisplayVideo360AdvertiserLinks(
458      ListDisplayVideo360AdvertiserLinksRequest)
459      returns (ListDisplayVideo360AdvertiserLinksResponse) {
460    option (google.api.http) = {
461      get: "/v1alpha/{parent=properties/*}/displayVideo360AdvertiserLinks"
462    };
463    option (google.api.method_signature) = "parent";
464  }
465
466  // Creates a DisplayVideo360AdvertiserLink.
467  // This can only be utilized by users who have proper authorization both on
468  // the Google Analytics property and on the Display & Video 360 advertiser.
469  // Users who do not have access to the Display & Video 360 advertiser should
470  // instead seek to create a DisplayVideo360LinkProposal.
471  rpc CreateDisplayVideo360AdvertiserLink(
472      CreateDisplayVideo360AdvertiserLinkRequest)
473      returns (DisplayVideo360AdvertiserLink) {
474    option (google.api.http) = {
475      post: "/v1alpha/{parent=properties/*}/displayVideo360AdvertiserLinks"
476      body: "display_video_360_advertiser_link"
477    };
478    option (google.api.method_signature) =
479        "parent,display_video_360_advertiser_link";
480  }
481
482  // Deletes a DisplayVideo360AdvertiserLink on a property.
483  rpc DeleteDisplayVideo360AdvertiserLink(
484      DeleteDisplayVideo360AdvertiserLinkRequest)
485      returns (google.protobuf.Empty) {
486    option (google.api.http) = {
487      delete: "/v1alpha/{name=properties/*/displayVideo360AdvertiserLinks/*}"
488    };
489    option (google.api.method_signature) = "name";
490  }
491
492  // Updates a DisplayVideo360AdvertiserLink on a property.
493  rpc UpdateDisplayVideo360AdvertiserLink(
494      UpdateDisplayVideo360AdvertiserLinkRequest)
495      returns (DisplayVideo360AdvertiserLink) {
496    option (google.api.http) = {
497      patch: "/v1alpha/{display_video_360_advertiser_link.name=properties/*/displayVideo360AdvertiserLinks/*}"
498      body: "display_video_360_advertiser_link"
499    };
500    option (google.api.method_signature) =
501        "display_video_360_advertiser_link,update_mask";
502  }
503
504  // Lookup for a single DisplayVideo360AdvertiserLinkProposal.
505  rpc GetDisplayVideo360AdvertiserLinkProposal(
506      GetDisplayVideo360AdvertiserLinkProposalRequest)
507      returns (DisplayVideo360AdvertiserLinkProposal) {
508    option (google.api.http) = {
509      get: "/v1alpha/{name=properties/*/displayVideo360AdvertiserLinkProposals/*}"
510    };
511    option (google.api.method_signature) = "name";
512  }
513
514  // Lists DisplayVideo360AdvertiserLinkProposals on a property.
515  rpc ListDisplayVideo360AdvertiserLinkProposals(
516      ListDisplayVideo360AdvertiserLinkProposalsRequest)
517      returns (ListDisplayVideo360AdvertiserLinkProposalsResponse) {
518    option (google.api.http) = {
519      get: "/v1alpha/{parent=properties/*}/displayVideo360AdvertiserLinkProposals"
520    };
521    option (google.api.method_signature) = "parent";
522  }
523
524  // Creates a DisplayVideo360AdvertiserLinkProposal.
525  rpc CreateDisplayVideo360AdvertiserLinkProposal(
526      CreateDisplayVideo360AdvertiserLinkProposalRequest)
527      returns (DisplayVideo360AdvertiserLinkProposal) {
528    option (google.api.http) = {
529      post: "/v1alpha/{parent=properties/*}/displayVideo360AdvertiserLinkProposals"
530      body: "display_video_360_advertiser_link_proposal"
531    };
532    option (google.api.method_signature) =
533        "parent,display_video_360_advertiser_link_proposal";
534  }
535
536  // Deletes a DisplayVideo360AdvertiserLinkProposal on a property.
537  // This can only be used on cancelled proposals.
538  rpc DeleteDisplayVideo360AdvertiserLinkProposal(
539      DeleteDisplayVideo360AdvertiserLinkProposalRequest)
540      returns (google.protobuf.Empty) {
541    option (google.api.http) = {
542      delete: "/v1alpha/{name=properties/*/displayVideo360AdvertiserLinkProposals/*}"
543    };
544    option (google.api.method_signature) = "name";
545  }
546
547  // Approves a DisplayVideo360AdvertiserLinkProposal.
548  // The DisplayVideo360AdvertiserLinkProposal will be deleted and a new
549  // DisplayVideo360AdvertiserLink will be created.
550  rpc ApproveDisplayVideo360AdvertiserLinkProposal(
551      ApproveDisplayVideo360AdvertiserLinkProposalRequest)
552      returns (ApproveDisplayVideo360AdvertiserLinkProposalResponse) {
553    option (google.api.http) = {
554      post: "/v1alpha/{name=properties/*/displayVideo360AdvertiserLinkProposals/*}:approve"
555      body: "*"
556    };
557  }
558
559  // Cancels a DisplayVideo360AdvertiserLinkProposal.
560  // Cancelling can mean either:
561  // - Declining a proposal initiated from Display & Video 360
562  // - Withdrawing a proposal initiated from Google Analytics
563  // After being cancelled, a proposal will eventually be deleted automatically.
564  rpc CancelDisplayVideo360AdvertiserLinkProposal(
565      CancelDisplayVideo360AdvertiserLinkProposalRequest)
566      returns (DisplayVideo360AdvertiserLinkProposal) {
567    option (google.api.http) = {
568      post: "/v1alpha/{name=properties/*/displayVideo360AdvertiserLinkProposals/*}:cancel"
569      body: "*"
570    };
571  }
572
573  // Creates a CustomDimension.
574  rpc CreateCustomDimension(CreateCustomDimensionRequest)
575      returns (CustomDimension) {
576    option (google.api.http) = {
577      post: "/v1alpha/{parent=properties/*}/customDimensions"
578      body: "custom_dimension"
579    };
580    option (google.api.method_signature) = "parent,custom_dimension";
581  }
582
583  // Updates a CustomDimension on a property.
584  rpc UpdateCustomDimension(UpdateCustomDimensionRequest)
585      returns (CustomDimension) {
586    option (google.api.http) = {
587      patch: "/v1alpha/{custom_dimension.name=properties/*/customDimensions/*}"
588      body: "custom_dimension"
589    };
590    option (google.api.method_signature) = "custom_dimension,update_mask";
591  }
592
593  // Lists CustomDimensions on a property.
594  rpc ListCustomDimensions(ListCustomDimensionsRequest)
595      returns (ListCustomDimensionsResponse) {
596    option (google.api.http) = {
597      get: "/v1alpha/{parent=properties/*}/customDimensions"
598    };
599    option (google.api.method_signature) = "parent";
600  }
601
602  // Archives a CustomDimension on a property.
603  rpc ArchiveCustomDimension(ArchiveCustomDimensionRequest)
604      returns (google.protobuf.Empty) {
605    option (google.api.http) = {
606      post: "/v1alpha/{name=properties/*/customDimensions/*}:archive"
607      body: "*"
608    };
609    option (google.api.method_signature) = "name";
610  }
611
612  // Lookup for a single CustomDimension.
613  rpc GetCustomDimension(GetCustomDimensionRequest) returns (CustomDimension) {
614    option (google.api.http) = {
615      get: "/v1alpha/{name=properties/*/customDimensions/*}"
616    };
617    option (google.api.method_signature) = "name";
618  }
619
620  // Creates a CustomMetric.
621  rpc CreateCustomMetric(CreateCustomMetricRequest) returns (CustomMetric) {
622    option (google.api.http) = {
623      post: "/v1alpha/{parent=properties/*}/customMetrics"
624      body: "custom_metric"
625    };
626    option (google.api.method_signature) = "parent,custom_metric";
627  }
628
629  // Updates a CustomMetric on a property.
630  rpc UpdateCustomMetric(UpdateCustomMetricRequest) returns (CustomMetric) {
631    option (google.api.http) = {
632      patch: "/v1alpha/{custom_metric.name=properties/*/customMetrics/*}"
633      body: "custom_metric"
634    };
635    option (google.api.method_signature) = "custom_metric,update_mask";
636  }
637
638  // Lists CustomMetrics on a property.
639  rpc ListCustomMetrics(ListCustomMetricsRequest)
640      returns (ListCustomMetricsResponse) {
641    option (google.api.http) = {
642      get: "/v1alpha/{parent=properties/*}/customMetrics"
643    };
644    option (google.api.method_signature) = "parent";
645  }
646
647  // Archives a CustomMetric on a property.
648  rpc ArchiveCustomMetric(ArchiveCustomMetricRequest)
649      returns (google.protobuf.Empty) {
650    option (google.api.http) = {
651      post: "/v1alpha/{name=properties/*/customMetrics/*}:archive"
652      body: "*"
653    };
654    option (google.api.method_signature) = "name";
655  }
656
657  // Lookup for a single CustomMetric.
658  rpc GetCustomMetric(GetCustomMetricRequest) returns (CustomMetric) {
659    option (google.api.http) = {
660      get: "/v1alpha/{name=properties/*/customMetrics/*}"
661    };
662    option (google.api.method_signature) = "name";
663  }
664
665  // Returns the singleton data retention settings for this property.
666  rpc GetDataRetentionSettings(GetDataRetentionSettingsRequest)
667      returns (DataRetentionSettings) {
668    option (google.api.http) = {
669      get: "/v1alpha/{name=properties/*/dataRetentionSettings}"
670    };
671    option (google.api.method_signature) = "name";
672  }
673
674  // Updates the singleton data retention settings for this property.
675  rpc UpdateDataRetentionSettings(UpdateDataRetentionSettingsRequest)
676      returns (DataRetentionSettings) {
677    option (google.api.http) = {
678      patch: "/v1alpha/{data_retention_settings.name=properties/*/dataRetentionSettings}"
679      body: "data_retention_settings"
680    };
681    option (google.api.method_signature) =
682        "data_retention_settings,update_mask";
683  }
684
685  // Creates a DataStream.
686  rpc CreateDataStream(CreateDataStreamRequest) returns (DataStream) {
687    option (google.api.http) = {
688      post: "/v1alpha/{parent=properties/*}/dataStreams"
689      body: "data_stream"
690    };
691    option (google.api.method_signature) = "parent,data_stream";
692  }
693
694  // Deletes a DataStream on a property.
695  rpc DeleteDataStream(DeleteDataStreamRequest)
696      returns (google.protobuf.Empty) {
697    option (google.api.http) = {
698      delete: "/v1alpha/{name=properties/*/dataStreams/*}"
699    };
700    option (google.api.method_signature) = "name";
701  }
702
703  // Updates a DataStream on a property.
704  rpc UpdateDataStream(UpdateDataStreamRequest) returns (DataStream) {
705    option (google.api.http) = {
706      patch: "/v1alpha/{data_stream.name=properties/*/dataStreams/*}"
707      body: "data_stream"
708    };
709    option (google.api.method_signature) = "data_stream,update_mask";
710  }
711
712  // Lists DataStreams on a property.
713  rpc ListDataStreams(ListDataStreamsRequest)
714      returns (ListDataStreamsResponse) {
715    option (google.api.http) = {
716      get: "/v1alpha/{parent=properties/*}/dataStreams"
717    };
718    option (google.api.method_signature) = "parent";
719  }
720
721  // Lookup for a single DataStream.
722  rpc GetDataStream(GetDataStreamRequest) returns (DataStream) {
723    option (google.api.http) = {
724      get: "/v1alpha/{name=properties/*/dataStreams/*}"
725    };
726    option (google.api.method_signature) = "name";
727  }
728
729  // Lookup for a single Audience.
730  // Audiences created before 2020 may not be supported.
731  // Default audiences will not show filter definitions.
732  rpc GetAudience(GetAudienceRequest) returns (Audience) {
733    option (google.api.http) = {
734      get: "/v1alpha/{name=properties/*/audiences/*}"
735    };
736    option (google.api.method_signature) = "name";
737  }
738
739  // Lists Audiences on a property.
740  // Audiences created before 2020 may not be supported.
741  // Default audiences will not show filter definitions.
742  rpc ListAudiences(ListAudiencesRequest) returns (ListAudiencesResponse) {
743    option (google.api.http) = {
744      get: "/v1alpha/{parent=properties/*}/audiences"
745    };
746    option (google.api.method_signature) = "parent";
747  }
748
749  // Creates an Audience.
750  rpc CreateAudience(CreateAudienceRequest) returns (Audience) {
751    option (google.api.http) = {
752      post: "/v1alpha/{parent=properties/*}/audiences"
753      body: "audience"
754    };
755    option (google.api.method_signature) = "parent,audience";
756  }
757
758  // Updates an Audience on a property.
759  rpc UpdateAudience(UpdateAudienceRequest) returns (Audience) {
760    option (google.api.http) = {
761      patch: "/v1alpha/{audience.name=properties/*/audiences/*}"
762      body: "audience"
763    };
764    option (google.api.method_signature) = "audience,update_mask";
765  }
766
767  // Archives an Audience on a property.
768  rpc ArchiveAudience(ArchiveAudienceRequest) returns (google.protobuf.Empty) {
769    option (google.api.http) = {
770      post: "/v1alpha/{name=properties/*/audiences/*}:archive"
771      body: "*"
772    };
773  }
774
775  // Look up a single SearchAds360Link
776  rpc GetSearchAds360Link(GetSearchAds360LinkRequest)
777      returns (SearchAds360Link) {
778    option (google.api.http) = {
779      get: "/v1alpha/{name=properties/*/searchAds360Links/*}"
780    };
781    option (google.api.method_signature) = "name";
782  }
783
784  // Lists all SearchAds360Links on a property.
785  rpc ListSearchAds360Links(ListSearchAds360LinksRequest)
786      returns (ListSearchAds360LinksResponse) {
787    option (google.api.http) = {
788      get: "/v1alpha/{parent=properties/*}/searchAds360Links"
789    };
790    option (google.api.method_signature) = "parent";
791  }
792
793  // Creates a SearchAds360Link.
794  rpc CreateSearchAds360Link(CreateSearchAds360LinkRequest)
795      returns (SearchAds360Link) {
796    option (google.api.http) = {
797      post: "/v1alpha/{parent=properties/*}/searchAds360Links"
798      body: "search_ads_360_link"
799    };
800    option (google.api.method_signature) = "parent,search_ads_360_link";
801  }
802
803  // Deletes a SearchAds360Link on a property.
804  rpc DeleteSearchAds360Link(DeleteSearchAds360LinkRequest)
805      returns (google.protobuf.Empty) {
806    option (google.api.http) = {
807      delete: "/v1alpha/{name=properties/*/searchAds360Links/*}"
808    };
809    option (google.api.method_signature) = "name";
810  }
811
812  // Updates a SearchAds360Link on a property.
813  rpc UpdateSearchAds360Link(UpdateSearchAds360LinkRequest)
814      returns (SearchAds360Link) {
815    option (google.api.http) = {
816      patch: "/v1alpha/{search_ads_360_link.name=properties/*/searchAds360Links/*}"
817      body: "search_ads_360_link"
818    };
819    option (google.api.method_signature) = "search_ads_360_link,update_mask";
820  }
821
822  // Lookup for a AttributionSettings singleton.
823  rpc GetAttributionSettings(GetAttributionSettingsRequest)
824      returns (AttributionSettings) {
825    option (google.api.http) = {
826      get: "/v1alpha/{name=properties/*/attributionSettings}"
827    };
828    option (google.api.method_signature) = "name";
829  }
830
831  // Updates attribution settings on a property.
832  rpc UpdateAttributionSettings(UpdateAttributionSettingsRequest)
833      returns (AttributionSettings) {
834    option (google.api.http) = {
835      patch: "/v1alpha/{attribution_settings.name=properties/*/attributionSettings}"
836      body: "attribution_settings"
837    };
838    option (google.api.method_signature) = "attribution_settings,update_mask";
839  }
840
841  // Returns a customized report of data access records. The report provides
842  // records of each time a user reads Google Analytics reporting data. Access
843  // records are retained for up to 2 years.
844  //
845  // Data Access Reports can be requested for a property. Reports may be
846  // requested for any property, but dimensions that aren't related to quota can
847  // only be requested on Google Analytics 360 properties. This method is only
848  // available to Administrators.
849  //
850  // These data access records include GA4 UI Reporting, GA4 UI Explorations,
851  // GA4 Data API, and other products like Firebase & Admob that can retrieve
852  // data from Google Analytics through a linkage. These records don't include
853  // property configuration changes like adding a stream or changing a
854  // property's time zone. For configuration change history, see
855  // [searchChangeHistoryEvents](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/accounts/searchChangeHistoryEvents).
856  rpc RunAccessReport(RunAccessReportRequest)
857      returns (RunAccessReportResponse) {
858    option (google.api.http) = {
859      post: "/v1alpha/{entity=properties/*}:runAccessReport"
860      body: "*"
861      additional_bindings {
862        post: "/v1alpha/{entity=accounts/*}:runAccessReport"
863        body: "*"
864      }
865    };
866  }
867
868  // Creates an access binding on an account or property.
869  rpc CreateAccessBinding(CreateAccessBindingRequest) returns (AccessBinding) {
870    option (google.api.http) = {
871      post: "/v1alpha/{parent=accounts/*}/accessBindings"
872      body: "access_binding"
873      additional_bindings {
874        post: "/v1alpha/{parent=properties/*}/accessBindings"
875        body: "access_binding"
876      }
877    };
878    option (google.api.method_signature) = "parent,access_binding";
879  }
880
881  // Gets information about an access binding.
882  rpc GetAccessBinding(GetAccessBindingRequest) returns (AccessBinding) {
883    option (google.api.http) = {
884      get: "/v1alpha/{name=accounts/*/accessBindings/*}"
885      additional_bindings {
886        get: "/v1alpha/{name=properties/*/accessBindings/*}"
887      }
888    };
889    option (google.api.method_signature) = "name";
890  }
891
892  // Updates an access binding on an account or property.
893  rpc UpdateAccessBinding(UpdateAccessBindingRequest) returns (AccessBinding) {
894    option (google.api.http) = {
895      patch: "/v1alpha/{access_binding.name=accounts/*/accessBindings/*}"
896      body: "access_binding"
897      additional_bindings {
898        patch: "/v1alpha/{access_binding.name=properties/*/accessBindings/*}"
899        body: "access_binding"
900      }
901    };
902    option (google.api.method_signature) = "access_binding";
903  }
904
905  // Deletes an access binding on an account or property.
906  rpc DeleteAccessBinding(DeleteAccessBindingRequest)
907      returns (google.protobuf.Empty) {
908    option (google.api.http) = {
909      delete: "/v1alpha/{name=accounts/*/accessBindings/*}"
910      additional_bindings {
911        delete: "/v1alpha/{name=properties/*/accessBindings/*}"
912      }
913    };
914    option (google.api.method_signature) = "name";
915  }
916
917  // Lists all access bindings on an account or property.
918  rpc ListAccessBindings(ListAccessBindingsRequest)
919      returns (ListAccessBindingsResponse) {
920    option (google.api.http) = {
921      get: "/v1alpha/{parent=accounts/*}/accessBindings"
922      additional_bindings {
923        get: "/v1alpha/{parent=properties/*}/accessBindings"
924      }
925    };
926    option (google.api.method_signature) = "parent";
927  }
928
929  // Creates information about multiple access bindings to an account or
930  // property.
931  //
932  // This method is transactional. If any AccessBinding cannot be created, none
933  // of the AccessBindings will be created.
934  rpc BatchCreateAccessBindings(BatchCreateAccessBindingsRequest)
935      returns (BatchCreateAccessBindingsResponse) {
936    option (google.api.http) = {
937      post: "/v1alpha/{parent=accounts/*}/accessBindings:batchCreate"
938      body: "*"
939      additional_bindings {
940        post: "/v1alpha/{parent=properties/*}/accessBindings:batchCreate"
941        body: "*"
942      }
943    };
944  }
945
946  // Gets information about multiple access bindings to an account or property.
947  rpc BatchGetAccessBindings(BatchGetAccessBindingsRequest)
948      returns (BatchGetAccessBindingsResponse) {
949    option (google.api.http) = {
950      get: "/v1alpha/{parent=accounts/*}/accessBindings:batchGet"
951      additional_bindings {
952        get: "/v1alpha/{parent=properties/*}/accessBindings:batchGet"
953      }
954    };
955  }
956
957  // Updates information about multiple access bindings to an account or
958  // property.
959  rpc BatchUpdateAccessBindings(BatchUpdateAccessBindingsRequest)
960      returns (BatchUpdateAccessBindingsResponse) {
961    option (google.api.http) = {
962      post: "/v1alpha/{parent=accounts/*}/accessBindings:batchUpdate"
963      body: "*"
964      additional_bindings {
965        post: "/v1alpha/{parent=properties/*}/accessBindings:batchUpdate"
966        body: "*"
967      }
968    };
969  }
970
971  // Deletes information about multiple users' links to an account or property.
972  rpc BatchDeleteAccessBindings(BatchDeleteAccessBindingsRequest)
973      returns (google.protobuf.Empty) {
974    option (google.api.http) = {
975      post: "/v1alpha/{parent=accounts/*}/accessBindings:batchDelete"
976      body: "*"
977      additional_bindings {
978        post: "/v1alpha/{parent=properties/*}/accessBindings:batchDelete"
979        body: "*"
980      }
981    };
982  }
983
984  // Lookup for a single ExpandedDataSet.
985  rpc GetExpandedDataSet(GetExpandedDataSetRequest) returns (ExpandedDataSet) {
986    option (google.api.http) = {
987      get: "/v1alpha/{name=properties/*/expandedDataSets/*}"
988    };
989    option (google.api.method_signature) = "name";
990  }
991
992  // Lists ExpandedDataSets on a property.
993  rpc ListExpandedDataSets(ListExpandedDataSetsRequest)
994      returns (ListExpandedDataSetsResponse) {
995    option (google.api.http) = {
996      get: "/v1alpha/{parent=properties/*}/expandedDataSets"
997    };
998    option (google.api.method_signature) = "parent";
999  }
1000
1001  // Creates a ExpandedDataSet.
1002  rpc CreateExpandedDataSet(CreateExpandedDataSetRequest)
1003      returns (ExpandedDataSet) {
1004    option (google.api.http) = {
1005      post: "/v1alpha/{parent=properties/*}/expandedDataSets"
1006      body: "expanded_data_set"
1007    };
1008    option (google.api.method_signature) = "parent,expanded_data_set";
1009  }
1010
1011  // Updates a ExpandedDataSet on a property.
1012  rpc UpdateExpandedDataSet(UpdateExpandedDataSetRequest)
1013      returns (ExpandedDataSet) {
1014    option (google.api.http) = {
1015      patch: "/v1alpha/{expanded_data_set.name=properties/*/expandedDataSets/*}"
1016      body: "expanded_data_set"
1017    };
1018    option (google.api.method_signature) = "expanded_data_set,update_mask";
1019  }
1020
1021  // Deletes a ExpandedDataSet on a property.
1022  rpc DeleteExpandedDataSet(DeleteExpandedDataSetRequest)
1023      returns (google.protobuf.Empty) {
1024    option (google.api.http) = {
1025      delete: "/v1alpha/{name=properties/*/expandedDataSets/*}"
1026    };
1027    option (google.api.method_signature) = "name";
1028  }
1029
1030  // Lookup for a single ChannelGroup.
1031  rpc GetChannelGroup(GetChannelGroupRequest) returns (ChannelGroup) {
1032    option (google.api.http) = {
1033      get: "/v1alpha/{name=properties/*/channelGroups/*}"
1034    };
1035    option (google.api.method_signature) = "name";
1036  }
1037
1038  // Lists ChannelGroups on a property.
1039  rpc ListChannelGroups(ListChannelGroupsRequest)
1040      returns (ListChannelGroupsResponse) {
1041    option (google.api.http) = {
1042      get: "/v1alpha/{parent=properties/*}/channelGroups"
1043    };
1044    option (google.api.method_signature) = "parent";
1045  }
1046
1047  // Creates a ChannelGroup.
1048  rpc CreateChannelGroup(CreateChannelGroupRequest) returns (ChannelGroup) {
1049    option (google.api.http) = {
1050      post: "/v1alpha/{parent=properties/*}/channelGroups"
1051      body: "channel_group"
1052    };
1053    option (google.api.method_signature) = "parent,channel_group";
1054  }
1055
1056  // Updates a ChannelGroup.
1057  rpc UpdateChannelGroup(UpdateChannelGroupRequest) returns (ChannelGroup) {
1058    option (google.api.http) = {
1059      patch: "/v1alpha/{channel_group.name=properties/*/channelGroups/*}"
1060      body: "channel_group"
1061    };
1062    option (google.api.method_signature) = "channel_group,update_mask";
1063  }
1064
1065  // Deletes a ChannelGroup on a property.
1066  rpc DeleteChannelGroup(DeleteChannelGroupRequest)
1067      returns (google.protobuf.Empty) {
1068    option (google.api.http) = {
1069      delete: "/v1alpha/{name=properties/*/channelGroups/*}"
1070    };
1071    option (google.api.method_signature) = "name";
1072  }
1073
1074  // Sets the opt out status for the automated GA4 setup process for a UA
1075  // property.
1076  // Note: this has no effect on GA4 property.
1077  rpc SetAutomatedGa4ConfigurationOptOut(
1078      SetAutomatedGa4ConfigurationOptOutRequest)
1079      returns (SetAutomatedGa4ConfigurationOptOutResponse) {
1080    option (google.api.http) = {
1081      post: "/v1alpha/properties:setAutomatedGa4ConfigurationOptOut"
1082      body: "*"
1083    };
1084  }
1085
1086  // Fetches the opt out status for the automated GA4 setup process for a UA
1087  // property.
1088  // Note: this has no effect on GA4 property.
1089  rpc FetchAutomatedGa4ConfigurationOptOut(
1090      FetchAutomatedGa4ConfigurationOptOutRequest)
1091      returns (FetchAutomatedGa4ConfigurationOptOutResponse) {
1092    option (google.api.http) = {
1093      post: "/v1alpha/properties:fetchAutomatedGa4ConfigurationOptOut"
1094      body: "*"
1095    };
1096  }
1097
1098  // Lookup for a single BigQuery Link.
1099  rpc GetBigQueryLink(GetBigQueryLinkRequest) returns (BigQueryLink) {
1100    option (google.api.http) = {
1101      get: "/v1alpha/{name=properties/*/bigQueryLinks/*}"
1102    };
1103    option (google.api.method_signature) = "name";
1104  }
1105
1106  // Lists BigQuery Links on a property.
1107  rpc ListBigQueryLinks(ListBigQueryLinksRequest)
1108      returns (ListBigQueryLinksResponse) {
1109    option (google.api.http) = {
1110      get: "/v1alpha/{parent=properties/*}/bigQueryLinks"
1111    };
1112    option (google.api.method_signature) = "parent";
1113  }
1114
1115  // Returns the enhanced measurement settings for this data stream.
1116  // Note that the stream must enable enhanced measurement for these settings to
1117  // take effect.
1118  rpc GetEnhancedMeasurementSettings(GetEnhancedMeasurementSettingsRequest)
1119      returns (EnhancedMeasurementSettings) {
1120    option (google.api.http) = {
1121      get: "/v1alpha/{name=properties/*/dataStreams/*/enhancedMeasurementSettings}"
1122    };
1123    option (google.api.method_signature) = "name";
1124  }
1125
1126  // Updates the enhanced measurement settings for this data stream.
1127  // Note that the stream must enable enhanced measurement for these settings to
1128  // take effect.
1129  rpc UpdateEnhancedMeasurementSettings(
1130      UpdateEnhancedMeasurementSettingsRequest)
1131      returns (EnhancedMeasurementSettings) {
1132    option (google.api.http) = {
1133      patch: "/v1alpha/{enhanced_measurement_settings.name=properties/*/dataStreams/*/enhancedMeasurementSettings}"
1134      body: "enhanced_measurement_settings"
1135    };
1136    option (google.api.method_signature) =
1137        "enhanced_measurement_settings,update_mask";
1138  }
1139
1140  // Creates a connected site tag for a Universal Analytics property. You can
1141  // create a maximum of 20 connected site tags per property.
1142  // Note: This API cannot be used on GA4 properties.
1143  rpc CreateConnectedSiteTag(CreateConnectedSiteTagRequest)
1144      returns (CreateConnectedSiteTagResponse) {
1145    option (google.api.http) = {
1146      post: "/v1alpha/properties:createConnectedSiteTag"
1147      body: "*"
1148    };
1149  }
1150
1151  // Deletes a connected site tag for a Universal Analytics property.
1152  // Note: this has no effect on GA4 properties.
1153  rpc DeleteConnectedSiteTag(DeleteConnectedSiteTagRequest)
1154      returns (google.protobuf.Empty) {
1155    option (google.api.http) = {
1156      post: "/v1alpha/properties:deleteConnectedSiteTag"
1157      body: "*"
1158    };
1159  }
1160
1161  // Lists the connected site tags for a Universal Analytics property. A maximum
1162  // of 20 connected site tags will be returned. Note: this has no effect on GA4
1163  // property.
1164  rpc ListConnectedSiteTags(ListConnectedSiteTagsRequest)
1165      returns (ListConnectedSiteTagsResponse) {
1166    option (google.api.http) = {
1167      post: "/v1alpha/properties:listConnectedSiteTags"
1168      body: "*"
1169    };
1170  }
1171
1172  // Given a specified UA property, looks up the GA4 property connected to it.
1173  // Note: this cannot be used with GA4 properties.
1174  rpc FetchConnectedGa4Property(FetchConnectedGa4PropertyRequest)
1175      returns (FetchConnectedGa4PropertyResponse) {
1176    option (google.api.http) = {
1177      get: "/v1alpha/properties:fetchConnectedGa4Property"
1178    };
1179  }
1180
1181  // Looks up a single AdSenseLink.
1182  rpc GetAdSenseLink(GetAdSenseLinkRequest) returns (AdSenseLink) {
1183    option (google.api.http) = {
1184      get: "/v1alpha/{name=properties/*/adSenseLinks/*}"
1185    };
1186    option (google.api.method_signature) = "name";
1187  }
1188
1189  // Creates an AdSenseLink.
1190  rpc CreateAdSenseLink(CreateAdSenseLinkRequest) returns (AdSenseLink) {
1191    option (google.api.http) = {
1192      post: "/v1alpha/{parent=properties/*}/adSenseLinks"
1193      body: "adsense_link"
1194    };
1195    option (google.api.method_signature) = "parent,adsense_link";
1196  }
1197
1198  // Deletes an AdSenseLink.
1199  rpc DeleteAdSenseLink(DeleteAdSenseLinkRequest)
1200      returns (google.protobuf.Empty) {
1201    option (google.api.http) = {
1202      delete: "/v1alpha/{name=properties/*/adSenseLinks/*}"
1203    };
1204    option (google.api.method_signature) = "name";
1205  }
1206
1207  // Lists AdSenseLinks on a property.
1208  rpc ListAdSenseLinks(ListAdSenseLinksRequest)
1209      returns (ListAdSenseLinksResponse) {
1210    option (google.api.http) = {
1211      get: "/v1alpha/{parent=properties/*}/adSenseLinks"
1212    };
1213    option (google.api.method_signature) = "parent";
1214  }
1215
1216  // Lookup for a single EventCreateRule.
1217  rpc GetEventCreateRule(GetEventCreateRuleRequest) returns (EventCreateRule) {
1218    option (google.api.http) = {
1219      get: "/v1alpha/{name=properties/*/dataStreams/*/eventCreateRules/*}"
1220    };
1221    option (google.api.method_signature) = "name";
1222  }
1223
1224  // Lists EventCreateRules on a web data stream.
1225  rpc ListEventCreateRules(ListEventCreateRulesRequest)
1226      returns (ListEventCreateRulesResponse) {
1227    option (google.api.http) = {
1228      get: "/v1alpha/{parent=properties/*/dataStreams/*}/eventCreateRules"
1229    };
1230    option (google.api.method_signature) = "parent";
1231  }
1232
1233  // Creates an EventCreateRule.
1234  rpc CreateEventCreateRule(CreateEventCreateRuleRequest)
1235      returns (EventCreateRule) {
1236    option (google.api.http) = {
1237      post: "/v1alpha/{parent=properties/*/dataStreams/*}/eventCreateRules"
1238      body: "event_create_rule"
1239    };
1240    option (google.api.method_signature) = "parent,event_create_rule";
1241  }
1242
1243  // Updates an EventCreateRule.
1244  rpc UpdateEventCreateRule(UpdateEventCreateRuleRequest)
1245      returns (EventCreateRule) {
1246    option (google.api.http) = {
1247      patch: "/v1alpha/{event_create_rule.name=properties/*/dataStreams/*/eventCreateRules/*}"
1248      body: "event_create_rule"
1249    };
1250    option (google.api.method_signature) = "event_create_rule,update_mask";
1251  }
1252
1253  // Deletes an EventCreateRule.
1254  rpc DeleteEventCreateRule(DeleteEventCreateRuleRequest)
1255      returns (google.protobuf.Empty) {
1256    option (google.api.http) = {
1257      delete: "/v1alpha/{name=properties/*/dataStreams/*/eventCreateRules/*}"
1258    };
1259    option (google.api.method_signature) = "name";
1260  }
1261
1262  // Updates a DataRedactionSettings on a property.
1263  rpc UpdateDataRedactionSettings(UpdateDataRedactionSettingsRequest)
1264      returns (DataRedactionSettings) {
1265    option (google.api.http) = {
1266      patch: "/v1alpha/{data_redaction_settings.name=properties/*/dataStreams/*/dataRedactionSettings}"
1267      body: "data_redaction_settings"
1268    };
1269    option (google.api.method_signature) =
1270        "data_redaction_settings,update_mask";
1271  }
1272
1273  // Lookup for a single DataRedactionSettings.
1274  rpc GetDataRedactionSettings(GetDataRedactionSettingsRequest)
1275      returns (DataRedactionSettings) {
1276    option (google.api.http) = {
1277      get: "/v1alpha/{name=properties/*/dataStreams/*/dataRedactionSettings}"
1278    };
1279    option (google.api.method_signature) = "name";
1280  }
1281
1282  // Lookup for a single CalculatedMetric.
1283  rpc GetCalculatedMetric(GetCalculatedMetricRequest)
1284      returns (CalculatedMetric) {
1285    option (google.api.http) = {
1286      get: "/v1alpha/{name=properties/*/calculatedMetrics/*}"
1287    };
1288    option (google.api.method_signature) = "name";
1289  }
1290
1291  // Creates a CalculatedMetric.
1292  rpc CreateCalculatedMetric(CreateCalculatedMetricRequest)
1293      returns (CalculatedMetric) {
1294    option (google.api.http) = {
1295      post: "/v1alpha/{parent=properties/*}/calculatedMetrics"
1296      body: "calculated_metric"
1297    };
1298    option (google.api.method_signature) =
1299        "parent,calculated_metric,calculated_metric_id";
1300  }
1301
1302  // Lists CalculatedMetrics on a property.
1303  rpc ListCalculatedMetrics(ListCalculatedMetricsRequest)
1304      returns (ListCalculatedMetricsResponse) {
1305    option (google.api.http) = {
1306      get: "/v1alpha/{parent=properties/*}/calculatedMetrics"
1307    };
1308    option (google.api.method_signature) = "parent";
1309  }
1310
1311  // Updates a CalculatedMetric on a property.
1312  rpc UpdateCalculatedMetric(UpdateCalculatedMetricRequest)
1313      returns (CalculatedMetric) {
1314    option (google.api.http) = {
1315      patch: "/v1alpha/{calculated_metric.name=properties/*/calculatedMetrics/*}"
1316      body: "calculated_metric"
1317    };
1318    option (google.api.method_signature) = "calculated_metric,update_mask";
1319  }
1320
1321  // Deletes a CalculatedMetric on a property.
1322  rpc DeleteCalculatedMetric(DeleteCalculatedMetricRequest)
1323      returns (google.protobuf.Empty) {
1324    option (google.api.http) = {
1325      delete: "/v1alpha/{name=properties/*/calculatedMetrics/*}"
1326    };
1327    option (google.api.method_signature) = "name";
1328  }
1329
1330  // Create a roll-up property and all roll-up property source links.
1331  rpc CreateRollupProperty(CreateRollupPropertyRequest)
1332      returns (CreateRollupPropertyResponse) {
1333    option (google.api.http) = {
1334      post: "/v1alpha/properties:createRollupProperty"
1335      body: "*"
1336    };
1337  }
1338
1339  // Lookup for a single roll-up property source Link.
1340  // Only roll-up properties can have source links, so this method will throw an
1341  // error if used on other types of properties.
1342  rpc GetRollupPropertySourceLink(GetRollupPropertySourceLinkRequest)
1343      returns (RollupPropertySourceLink) {
1344    option (google.api.http) = {
1345      get: "/v1alpha/{name=properties/*/rollupPropertySourceLinks/*}"
1346    };
1347    option (google.api.method_signature) = "name";
1348  }
1349
1350  // Lists roll-up property source Links on a property.
1351  // Only roll-up properties can have source links, so this method will throw an
1352  // error if used on other types of properties.
1353  rpc ListRollupPropertySourceLinks(ListRollupPropertySourceLinksRequest)
1354      returns (ListRollupPropertySourceLinksResponse) {
1355    option (google.api.http) = {
1356      get: "/v1alpha/{parent=properties/*}/rollupPropertySourceLinks"
1357    };
1358    option (google.api.method_signature) = "parent";
1359  }
1360
1361  // Creates a roll-up property source link.
1362  // Only roll-up properties can have source links, so this method will throw an
1363  // error if used on other types of properties.
1364  rpc CreateRollupPropertySourceLink(CreateRollupPropertySourceLinkRequest)
1365      returns (RollupPropertySourceLink) {
1366    option (google.api.http) = {
1367      post: "/v1alpha/{parent=properties/*}/rollupPropertySourceLinks"
1368      body: "rollup_property_source_link"
1369    };
1370    option (google.api.method_signature) = "parent,rollup_property_source_link";
1371  }
1372
1373  // Deletes a roll-up property source link.
1374  // Only roll-up properties can have source links, so this method will throw an
1375  // error if used on other types of properties.
1376  rpc DeleteRollupPropertySourceLink(DeleteRollupPropertySourceLinkRequest)
1377      returns (google.protobuf.Empty) {
1378    option (google.api.http) = {
1379      delete: "/v1alpha/{name=properties/*/rollupPropertySourceLinks/*}"
1380    };
1381    option (google.api.method_signature) = "name";
1382  }
1383
1384  // Create a subproperty and a subproperty event filter that applies to the
1385  // created subproperty.
1386  rpc CreateSubproperty(CreateSubpropertyRequest)
1387      returns (CreateSubpropertyResponse) {
1388    option (google.api.http) = {
1389      post: "/v1alpha/properties:createSubproperty"
1390      body: "*"
1391    };
1392  }
1393
1394  // Creates a subproperty Event Filter.
1395  rpc CreateSubpropertyEventFilter(CreateSubpropertyEventFilterRequest)
1396      returns (SubpropertyEventFilter) {
1397    option (google.api.http) = {
1398      post: "/v1alpha/{parent=properties/*}/subpropertyEventFilters"
1399      body: "subproperty_event_filter"
1400    };
1401    option (google.api.method_signature) = "parent,subproperty_event_filter";
1402  }
1403
1404  // Lookup for a single subproperty Event Filter.
1405  rpc GetSubpropertyEventFilter(GetSubpropertyEventFilterRequest)
1406      returns (SubpropertyEventFilter) {
1407    option (google.api.http) = {
1408      get: "/v1alpha/{name=properties/*/subpropertyEventFilters/*}"
1409    };
1410    option (google.api.method_signature) = "name";
1411  }
1412
1413  // List all subproperty Event Filters on a property.
1414  rpc ListSubpropertyEventFilters(ListSubpropertyEventFiltersRequest)
1415      returns (ListSubpropertyEventFiltersResponse) {
1416    option (google.api.http) = {
1417      get: "/v1alpha/{parent=properties/*}/subpropertyEventFilters"
1418    };
1419    option (google.api.method_signature) = "parent";
1420  }
1421
1422  // Updates a subproperty Event Filter.
1423  rpc UpdateSubpropertyEventFilter(UpdateSubpropertyEventFilterRequest)
1424      returns (SubpropertyEventFilter) {
1425    option (google.api.http) = {
1426      patch: "/v1alpha/{subproperty_event_filter.name=properties/*/subpropertyEventFilters/*}"
1427      body: "subproperty_event_filter"
1428    };
1429    option (google.api.method_signature) =
1430        "subproperty_event_filter,update_mask";
1431  }
1432
1433  // Deletes a subproperty event filter.
1434  rpc DeleteSubpropertyEventFilter(DeleteSubpropertyEventFilterRequest)
1435      returns (google.protobuf.Empty) {
1436    option (google.api.http) = {
1437      delete: "/v1alpha/{name=properties/*/subpropertyEventFilters/*}"
1438    };
1439    option (google.api.method_signature) = "name";
1440  }
1441}
1442
1443// The request for a Data Access Record Report.
1444message RunAccessReportRequest {
1445  // The Data Access Report supports requesting at the property level or account
1446  // level. If requested at the account level, Data Access Reports include all
1447  // access for all properties under that account.
1448  //
1449  // To request at the property level, entity should be for example
1450  // 'properties/123' if "123" is your GA4 property ID. To request at the
1451  // account level, entity should be for example 'accounts/1234' if "1234" is
1452  // your GA4 Account ID.
1453  string entity = 1;
1454
1455  // The dimensions requested and displayed in the response. Requests are
1456  // allowed up to 9 dimensions.
1457  repeated AccessDimension dimensions = 2;
1458
1459  // The metrics requested and displayed in the response. Requests are allowed
1460  // up to 10 metrics.
1461  repeated AccessMetric metrics = 3;
1462
1463  // Date ranges of access records to read. If multiple date ranges are
1464  // requested, each response row will contain a zero based date range index. If
1465  // two date ranges overlap, the access records for the overlapping days is
1466  // included in the response rows for both date ranges. Requests are allowed up
1467  // to 2 date ranges.
1468  repeated AccessDateRange date_ranges = 4;
1469
1470  // Dimension filters let you restrict report response to specific
1471  // dimension values which match the filter. For example, filtering on access
1472  // records of a single user. To learn more, see [Fundamentals of Dimension
1473  // Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters)
1474  // for examples. Metrics cannot be used in this filter.
1475  AccessFilterExpression dimension_filter = 5;
1476
1477  // Metric filters allow you to restrict report response to specific metric
1478  // values which match the filter. Metric filters are applied after aggregating
1479  // the report's rows, similar to SQL having-clause. Dimensions cannot be used
1480  // in this filter.
1481  AccessFilterExpression metric_filter = 6;
1482
1483  // The row count of the start row. The first row is counted as row 0. If
1484  // offset is unspecified, it is treated as 0. If offset is zero, then this
1485  // method will return the first page of results with `limit` entries.
1486  //
1487  // To learn more about this pagination parameter, see
1488  // [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
1489  int64 offset = 7;
1490
1491  // The number of rows to return. If unspecified, 10,000 rows are returned. The
1492  // API returns a maximum of 100,000 rows per request, no matter how many you
1493  // ask for. `limit` must be positive.
1494  //
1495  // The API may return fewer rows than the requested `limit`, if there aren't
1496  // as many remaining rows as the `limit`. For instance, there are fewer than
1497  // 300 possible values for the dimension `country`, so when reporting on only
1498  // `country`, you can't get more than 300 rows, even if you set `limit` to a
1499  // higher value.
1500  //
1501  // To learn more about this pagination parameter, see
1502  // [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
1503  int64 limit = 8;
1504
1505  // This request's time zone if specified. If unspecified, the property's time
1506  // zone is used. The request's time zone is used to interpret the start & end
1507  // dates of the report.
1508  //
1509  // Formatted as strings from the IANA Time Zone database
1510  // (https://www.iana.org/time-zones); for example "America/New_York" or
1511  // "Asia/Tokyo".
1512  string time_zone = 9;
1513
1514  // Specifies how rows are ordered in the response.
1515  repeated AccessOrderBy order_bys = 10;
1516
1517  // Toggles whether to return the current state of this Analytics Property's
1518  // quota. Quota is returned in [AccessQuota](#AccessQuota). For account-level
1519  // requests, this field must be false.
1520  bool return_entity_quota = 11;
1521
1522  // Optional. Determines whether to include users who have never made an API
1523  // call in the response. If true, all users with access to the specified
1524  // property or account are included in the response, regardless of whether
1525  // they have made an API call or not. If false, only the users who have made
1526  // an API call will be included.
1527  bool include_all_users = 12 [(google.api.field_behavior) = OPTIONAL];
1528
1529  // Optional. Decides whether to return the users within user groups. This
1530  // field works only when include_all_users is set to true. If true, it will
1531  // return all users with access to the specified property or account.
1532  // If false, only the users with direct access will be returned.
1533  bool expand_groups = 13 [(google.api.field_behavior) = OPTIONAL];
1534}
1535
1536// The customized Data Access Record Report response.
1537message RunAccessReportResponse {
1538  // The header for a column in the report that corresponds to a specific
1539  // dimension. The number of DimensionHeaders and ordering of DimensionHeaders
1540  // matches the dimensions present in rows.
1541  repeated AccessDimensionHeader dimension_headers = 1;
1542
1543  // The header for a column in the report that corresponds to a specific
1544  // metric. The number of MetricHeaders and ordering of MetricHeaders matches
1545  // the metrics present in rows.
1546  repeated AccessMetricHeader metric_headers = 2;
1547
1548  // Rows of dimension value combinations and metric values in the report.
1549  repeated AccessRow rows = 3;
1550
1551  // The total number of rows in the query result. `rowCount` is independent of
1552  // the number of rows returned in the response, the `limit` request
1553  // parameter, and the `offset` request parameter. For example if a query
1554  // returns 175 rows and includes `limit` of 50 in the API request, the
1555  // response will contain `rowCount` of 175 but only 50 rows.
1556  //
1557  // To learn more about this pagination parameter, see
1558  // [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
1559  int32 row_count = 4;
1560
1561  // The quota state for this Analytics property including this request. This
1562  // field doesn't work with account-level requests.
1563  AccessQuota quota = 5;
1564}
1565
1566// Request message for GetAccount RPC.
1567message GetAccountRequest {
1568  // Required. The name of the account to lookup.
1569  // Format: accounts/{account}
1570  // Example: "accounts/100"
1571  string name = 1 [
1572    (google.api.field_behavior) = REQUIRED,
1573    (google.api.resource_reference) = {
1574      type: "analyticsadmin.googleapis.com/Account"
1575    }
1576  ];
1577}
1578
1579// Request message for ListAccounts RPC.
1580message ListAccountsRequest {
1581  // The maximum number of resources to return. The service may return
1582  // fewer than this value, even if there are additional pages.
1583  // If unspecified, at most 50 resources will be returned.
1584  // The maximum value is 200; (higher values will be coerced to the maximum)
1585  int32 page_size = 1;
1586
1587  // A page token, received from a previous `ListAccounts` call.
1588  // Provide this to retrieve the subsequent page.
1589  // When paginating, all other parameters provided to `ListAccounts` must
1590  // match the call that provided the page token.
1591  string page_token = 2;
1592
1593  // Whether to include soft-deleted (ie: "trashed") Accounts in the
1594  // results. Accounts can be inspected to determine whether they are deleted or
1595  // not.
1596  bool show_deleted = 3;
1597}
1598
1599// Request message for ListAccounts RPC.
1600message ListAccountsResponse {
1601  // Results that were accessible to the caller.
1602  repeated Account accounts = 1;
1603
1604  // A token, which can be sent as `page_token` to retrieve the next page.
1605  // If this field is omitted, there are no subsequent pages.
1606  string next_page_token = 2;
1607}
1608
1609// Request message for DeleteAccount RPC.
1610message DeleteAccountRequest {
1611  // Required. The name of the Account to soft-delete.
1612  // Format: accounts/{account}
1613  // Example: "accounts/100"
1614  string name = 1 [
1615    (google.api.field_behavior) = REQUIRED,
1616    (google.api.resource_reference) = {
1617      type: "analyticsadmin.googleapis.com/Account"
1618    }
1619  ];
1620}
1621
1622// Request message for UpdateAccount RPC.
1623message UpdateAccountRequest {
1624  // Required. The account to update.
1625  // The account's `name` field is used to identify the account.
1626  Account account = 1 [(google.api.field_behavior) = REQUIRED];
1627
1628  // Required. The list of fields to be updated. Field names must be in snake
1629  // case (for example, "field_to_update"). Omitted fields will not be updated.
1630  // To replace the entire entity, use one path with the string "*" to match all
1631  // fields.
1632  google.protobuf.FieldMask update_mask = 2
1633      [(google.api.field_behavior) = REQUIRED];
1634}
1635
1636// Request message for ProvisionAccountTicket RPC.
1637message ProvisionAccountTicketRequest {
1638  // The account to create.
1639  Account account = 1;
1640
1641  // Redirect URI where the user will be sent after accepting Terms of Service.
1642  // Must be configured in Cloud Console as a Redirect URI.
1643  string redirect_uri = 2;
1644}
1645
1646// Response message for ProvisionAccountTicket RPC.
1647message ProvisionAccountTicketResponse {
1648  // The param to be passed in the ToS link.
1649  string account_ticket_id = 1;
1650}
1651
1652// Request message for GetProperty RPC.
1653message GetPropertyRequest {
1654  // Required. The name of the property to lookup.
1655  // Format: properties/{property_id}
1656  // Example: "properties/1000"
1657  string name = 1 [
1658    (google.api.field_behavior) = REQUIRED,
1659    (google.api.resource_reference) = {
1660      type: "analyticsadmin.googleapis.com/Property"
1661    }
1662  ];
1663}
1664
1665// Request message for ListProperties RPC.
1666message ListPropertiesRequest {
1667  // Required. An expression for filtering the results of the request.
1668  // Fields eligible for filtering are:
1669  // `parent:`(The resource name of the parent account/property) or
1670  // `ancestor:`(The resource name of the parent account) or
1671  // `firebase_project:`(The id or number of the linked firebase project).
1672  // Some examples of filters:
1673  //
1674  // ```
1675  // | Filter                      | Description                               |
1676  // |-----------------------------|-------------------------------------------|
1677  // | parent:accounts/123         | The account with account id: 123.       |
1678  // | parent:properties/123       | The property with property id: 123.       |
1679  // | ancestor:accounts/123       | The account with account id: 123.         |
1680  // | firebase_project:project-id | The firebase project with id: project-id. |
1681  // | firebase_project:123        | The firebase project with number: 123.    |
1682  // ```
1683  string filter = 1 [(google.api.field_behavior) = REQUIRED];
1684
1685  // The maximum number of resources to return. The service may return
1686  // fewer than this value, even if there are additional pages.
1687  // If unspecified, at most 50 resources will be returned.
1688  // The maximum value is 200; (higher values will be coerced to the maximum)
1689  int32 page_size = 2;
1690
1691  // A page token, received from a previous `ListProperties` call.
1692  // Provide this to retrieve the subsequent page.
1693  // When paginating, all other parameters provided to `ListProperties` must
1694  // match the call that provided the page token.
1695  string page_token = 3;
1696
1697  // Whether to include soft-deleted (ie: "trashed") Properties in the
1698  // results. Properties can be inspected to determine whether they are deleted
1699  // or not.
1700  bool show_deleted = 4;
1701}
1702
1703// Response message for ListProperties RPC.
1704message ListPropertiesResponse {
1705  // Results that matched the filter criteria and were accessible to the caller.
1706  repeated Property properties = 1;
1707
1708  // A token, which can be sent as `page_token` to retrieve the next page.
1709  // If this field is omitted, there are no subsequent pages.
1710  string next_page_token = 2;
1711}
1712
1713// Request message for UpdateProperty RPC.
1714message UpdatePropertyRequest {
1715  // Required. The property to update.
1716  // The property's `name` field is used to identify the property to be
1717  // updated.
1718  Property property = 1 [(google.api.field_behavior) = REQUIRED];
1719
1720  // Required. The list of fields to be updated. Field names must be in snake
1721  // case (e.g., "field_to_update"). Omitted fields will not be updated. To
1722  // replace the entire entity, use one path with the string "*" to match all
1723  // fields.
1724  google.protobuf.FieldMask update_mask = 2
1725      [(google.api.field_behavior) = REQUIRED];
1726}
1727
1728// Request message for CreateProperty RPC.
1729message CreatePropertyRequest {
1730  // Required. The property to create.
1731  // Note: the supplied property must specify its parent.
1732  Property property = 1 [(google.api.field_behavior) = REQUIRED];
1733}
1734
1735// Request message for DeleteProperty RPC.
1736message DeletePropertyRequest {
1737  // Required. The name of the Property to soft-delete.
1738  // Format: properties/{property_id}
1739  // Example: "properties/1000"
1740  string name = 1 [
1741    (google.api.field_behavior) = REQUIRED,
1742    (google.api.resource_reference) = {
1743      type: "analyticsadmin.googleapis.com/Property"
1744    }
1745  ];
1746}
1747
1748// Request message for CreateFirebaseLink RPC
1749message CreateFirebaseLinkRequest {
1750  // Required. Format: properties/{property_id}
1751  // Example: properties/1234
1752  string parent = 1 [
1753    (google.api.field_behavior) = REQUIRED,
1754    (google.api.resource_reference) = {
1755      child_type: "analyticsadmin.googleapis.com/FirebaseLink"
1756    }
1757  ];
1758
1759  // Required. The Firebase link to create.
1760  FirebaseLink firebase_link = 2 [(google.api.field_behavior) = REQUIRED];
1761}
1762
1763// Request message for DeleteFirebaseLink RPC
1764message DeleteFirebaseLinkRequest {
1765  // Required. Format: properties/{property_id}/firebaseLinks/{firebase_link_id}
1766  // Example: properties/1234/firebaseLinks/5678
1767  string name = 1 [
1768    (google.api.field_behavior) = REQUIRED,
1769    (google.api.resource_reference) = {
1770      type: "analyticsadmin.googleapis.com/FirebaseLink"
1771    }
1772  ];
1773}
1774
1775// Request message for ListFirebaseLinks RPC
1776message ListFirebaseLinksRequest {
1777  // Required. Format: properties/{property_id}
1778  // Example: properties/1234
1779  string parent = 1 [
1780    (google.api.field_behavior) = REQUIRED,
1781    (google.api.resource_reference) = {
1782      child_type: "analyticsadmin.googleapis.com/FirebaseLink"
1783    }
1784  ];
1785
1786  // The maximum number of resources to return. The service may return
1787  // fewer than this value, even if there are additional pages.
1788  // If unspecified, at most 50 resources will be returned.
1789  // The maximum value is 200; (higher values will be coerced to the maximum)
1790  int32 page_size = 2;
1791
1792  // A page token, received from a previous `ListFirebaseLinks` call.
1793  // Provide this to retrieve the subsequent page.
1794  // When paginating, all other parameters provided to `ListFirebaseLinks` must
1795  // match the call that provided the page token.
1796  string page_token = 3;
1797}
1798
1799// Response message for ListFirebaseLinks RPC
1800message ListFirebaseLinksResponse {
1801  // List of FirebaseLinks. This will have at most one value.
1802  repeated FirebaseLink firebase_links = 1;
1803
1804  // A token, which can be sent as `page_token` to retrieve the next page.
1805  // If this field is omitted, there are no subsequent pages.
1806  // Currently, Google Analytics supports only one FirebaseLink per property,
1807  // so this will never be populated.
1808  string next_page_token = 2;
1809}
1810
1811// Request message for GetGlobalSiteTag RPC.
1812message GetGlobalSiteTagRequest {
1813  // Required. The name of the site tag to lookup.
1814  // Note that site tags are singletons and do not have unique IDs.
1815  // Format: properties/{property_id}/dataStreams/{stream_id}/globalSiteTag
1816  // Example: "properties/123/dataStreams/456/globalSiteTag"
1817  string name = 1 [
1818    (google.api.field_behavior) = REQUIRED,
1819    (google.api.resource_reference) = {
1820      type: "analyticsadmin.googleapis.com/GlobalSiteTag"
1821    }
1822  ];
1823}
1824
1825// Request message for CreateGoogleAdsLink RPC
1826message CreateGoogleAdsLinkRequest {
1827  // Required. Example format: properties/1234
1828  string parent = 1 [
1829    (google.api.field_behavior) = REQUIRED,
1830    (google.api.resource_reference) = {
1831      child_type: "analyticsadmin.googleapis.com/GoogleAdsLink"
1832    }
1833  ];
1834
1835  // Required. The GoogleAdsLink to create.
1836  GoogleAdsLink google_ads_link = 2 [(google.api.field_behavior) = REQUIRED];
1837}
1838
1839// Request message for UpdateGoogleAdsLink RPC
1840message UpdateGoogleAdsLinkRequest {
1841  // The GoogleAdsLink to update
1842  GoogleAdsLink google_ads_link = 1;
1843
1844  // Required. The list of fields to be updated. Field names must be in snake
1845  // case (e.g., "field_to_update"). Omitted fields will not be updated. To
1846  // replace the entire entity, use one path with the string "*" to match all
1847  // fields.
1848  google.protobuf.FieldMask update_mask = 2
1849      [(google.api.field_behavior) = REQUIRED];
1850}
1851
1852// Request message for DeleteGoogleAdsLink RPC.
1853message DeleteGoogleAdsLinkRequest {
1854  // Required. Example format: properties/1234/googleAdsLinks/5678
1855  string name = 1 [
1856    (google.api.field_behavior) = REQUIRED,
1857    (google.api.resource_reference) = {
1858      type: "analyticsadmin.googleapis.com/GoogleAdsLink"
1859    }
1860  ];
1861}
1862
1863// Request message for ListGoogleAdsLinks RPC.
1864message ListGoogleAdsLinksRequest {
1865  // Required. Example format: properties/1234
1866  string parent = 1 [
1867    (google.api.field_behavior) = REQUIRED,
1868    (google.api.resource_reference) = {
1869      child_type: "analyticsadmin.googleapis.com/GoogleAdsLink"
1870    }
1871  ];
1872
1873  // The maximum number of resources to return.
1874  // If unspecified, at most 50 resources will be returned.
1875  // The maximum value is 200 (higher values will be coerced to the maximum).
1876  int32 page_size = 2;
1877
1878  // A page token, received from a previous `ListGoogleAdsLinks` call.
1879  // Provide this to retrieve the subsequent page.
1880  //
1881  // When paginating, all other parameters provided to `ListGoogleAdsLinks` must
1882  // match the call that provided the page token.
1883  string page_token = 3;
1884}
1885
1886// Response message for ListGoogleAdsLinks RPC.
1887message ListGoogleAdsLinksResponse {
1888  // List of GoogleAdsLinks.
1889  repeated GoogleAdsLink google_ads_links = 1;
1890
1891  // A token, which can be sent as `page_token` to retrieve the next page.
1892  // If this field is omitted, there are no subsequent pages.
1893  string next_page_token = 2;
1894}
1895
1896// Request message for GetDataSharingSettings RPC.
1897message GetDataSharingSettingsRequest {
1898  // Required. The name of the settings to lookup.
1899  // Format: accounts/{account}/dataSharingSettings
1900  // Example: "accounts/1000/dataSharingSettings"
1901  string name = 1 [
1902    (google.api.field_behavior) = REQUIRED,
1903    (google.api.resource_reference) = {
1904      type: "analyticsadmin.googleapis.com/DataSharingSettings"
1905    }
1906  ];
1907}
1908
1909// Request message for ListAccountSummaries RPC.
1910message ListAccountSummariesRequest {
1911  // The maximum number of AccountSummary resources to return. The service may
1912  // return fewer than this value, even if there are additional pages.
1913  // If unspecified, at most 50 resources will be returned.
1914  // The maximum value is 200; (higher values will be coerced to the maximum)
1915  int32 page_size = 1;
1916
1917  // A page token, received from a previous `ListAccountSummaries` call.
1918  // Provide this to retrieve the subsequent page.
1919  // When paginating, all other parameters provided to `ListAccountSummaries`
1920  // must match the call that provided the page token.
1921  string page_token = 2;
1922}
1923
1924// Response message for ListAccountSummaries RPC.
1925message ListAccountSummariesResponse {
1926  // Account summaries of all accounts the caller has access to.
1927  repeated AccountSummary account_summaries = 1;
1928
1929  // A token, which can be sent as `page_token` to retrieve the next page.
1930  // If this field is omitted, there are no subsequent pages.
1931  string next_page_token = 2;
1932}
1933
1934// Request message for AcknowledgeUserDataCollection RPC.
1935message AcknowledgeUserDataCollectionRequest {
1936  // Required. The property for which to acknowledge user data collection.
1937  string property = 1 [
1938    (google.api.field_behavior) = REQUIRED,
1939    (google.api.resource_reference) = {
1940      type: "analyticsadmin.googleapis.com/Property"
1941    }
1942  ];
1943
1944  // Required. An acknowledgement that the caller of this method understands the
1945  // terms of user data collection.
1946  //
1947  // This field must contain the exact value:
1948  // "I acknowledge that I have the necessary privacy disclosures and rights
1949  // from my end users for the collection and processing of their data,
1950  // including the association of such data with the visitation information
1951  // Google Analytics collects from my site and/or app property."
1952  string acknowledgement = 2 [(google.api.field_behavior) = REQUIRED];
1953}
1954
1955// Response message for AcknowledgeUserDataCollection RPC.
1956message AcknowledgeUserDataCollectionResponse {}
1957
1958// Request message for SearchChangeHistoryEvents RPC.
1959message SearchChangeHistoryEventsRequest {
1960  // Required. The account resource for which to return change history
1961  // resources. Format: accounts/{account} Example: "accounts/100"
1962  string account = 1 [
1963    (google.api.field_behavior) = REQUIRED,
1964    (google.api.resource_reference) = {
1965      type: "analyticsadmin.googleapis.com/Account"
1966    }
1967  ];
1968
1969  // Optional. Resource name for a child property. If set, only return changes
1970  // made to this property or its child resources.
1971  // Format: properties/{propertyId}
1972  // Example: "properties/100"
1973  string property = 2 [
1974    (google.api.field_behavior) = OPTIONAL,
1975    (google.api.resource_reference) = {
1976      type: "analyticsadmin.googleapis.com/Property"
1977    }
1978  ];
1979
1980  // Optional. If set, only return changes if they are for a resource that
1981  // matches at least one of these types.
1982  repeated ChangeHistoryResourceType resource_type = 3
1983      [(google.api.field_behavior) = OPTIONAL];
1984
1985  // Optional. If set, only return changes that match one or more of these types
1986  // of actions.
1987  repeated ActionType action = 4 [(google.api.field_behavior) = OPTIONAL];
1988
1989  // Optional. If set, only return changes if they are made by a user in this
1990  // list.
1991  repeated string actor_email = 5 [(google.api.field_behavior) = OPTIONAL];
1992
1993  // Optional. If set, only return changes made after this time (inclusive).
1994  google.protobuf.Timestamp earliest_change_time = 6
1995      [(google.api.field_behavior) = OPTIONAL];
1996
1997  // Optional. If set, only return changes made before this time (inclusive).
1998  google.protobuf.Timestamp latest_change_time = 7
1999      [(google.api.field_behavior) = OPTIONAL];
2000
2001  // Optional. The maximum number of ChangeHistoryEvent items to return.
2002  // The service may return fewer than this value, even if there are additional
2003  // pages. If unspecified, at most 50 items will be returned.
2004  // The maximum value is 200 (higher values will be coerced to the maximum).
2005  int32 page_size = 8 [(google.api.field_behavior) = OPTIONAL];
2006
2007  // Optional. A page token, received from a previous
2008  // `SearchChangeHistoryEvents` call. Provide this to retrieve the subsequent
2009  // page. When paginating, all other parameters provided to
2010  // `SearchChangeHistoryEvents` must match the call that provided the page
2011  // token.
2012  string page_token = 9 [(google.api.field_behavior) = OPTIONAL];
2013}
2014
2015// Response message for SearchAccounts RPC.
2016message SearchChangeHistoryEventsResponse {
2017  // Results that were accessible to the caller.
2018  repeated ChangeHistoryEvent change_history_events = 1;
2019
2020  // A token, which can be sent as `page_token` to retrieve the next page.
2021  // If this field is omitted, there are no subsequent pages.
2022  string next_page_token = 2;
2023}
2024
2025// Request message for GetMeasurementProtocolSecret RPC.
2026message GetMeasurementProtocolSecretRequest {
2027  // Required. The name of the measurement protocol secret to lookup.
2028  // Format:
2029  // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
2030  string name = 1 [
2031    (google.api.field_behavior) = REQUIRED,
2032    (google.api.resource_reference) = {
2033      type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret"
2034    }
2035  ];
2036}
2037
2038// Request message for CreateMeasurementProtocolSecret RPC
2039message CreateMeasurementProtocolSecretRequest {
2040  // Required. The parent resource where this secret will be created.
2041  // Format: properties/{property}/dataStreams/{dataStream}
2042  string parent = 1 [
2043    (google.api.field_behavior) = REQUIRED,
2044    (google.api.resource_reference) = {
2045      child_type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret"
2046    }
2047  ];
2048
2049  // Required. The measurement protocol secret to create.
2050  MeasurementProtocolSecret measurement_protocol_secret = 2
2051      [(google.api.field_behavior) = REQUIRED];
2052}
2053
2054// Request message for DeleteMeasurementProtocolSecret RPC
2055message DeleteMeasurementProtocolSecretRequest {
2056  // Required. The name of the MeasurementProtocolSecret to delete.
2057  // Format:
2058  // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
2059  string name = 1 [
2060    (google.api.field_behavior) = REQUIRED,
2061    (google.api.resource_reference) = {
2062      type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret"
2063    }
2064  ];
2065}
2066
2067// Request message for UpdateMeasurementProtocolSecret RPC
2068message UpdateMeasurementProtocolSecretRequest {
2069  // Required. The measurement protocol secret to update.
2070  MeasurementProtocolSecret measurement_protocol_secret = 1
2071      [(google.api.field_behavior) = REQUIRED];
2072
2073  // Required. The list of fields to be updated. Omitted fields will not be
2074  // updated.
2075  google.protobuf.FieldMask update_mask = 2
2076      [(google.api.field_behavior) = REQUIRED];
2077}
2078
2079// Request message for ListMeasurementProtocolSecret RPC
2080message ListMeasurementProtocolSecretsRequest {
2081  // Required. The resource name of the parent stream.
2082  // Format:
2083  // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets
2084  string parent = 1 [
2085    (google.api.field_behavior) = REQUIRED,
2086    (google.api.resource_reference) = {
2087      child_type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret"
2088    }
2089  ];
2090
2091  // The maximum number of resources to return.
2092  // If unspecified, at most 10 resources will be returned.
2093  // The maximum value is 10. Higher values will be coerced to the maximum.
2094  int32 page_size = 2;
2095
2096  // A page token, received from a previous `ListMeasurementProtocolSecrets`
2097  // call. Provide this to retrieve the subsequent page. When paginating, all
2098  // other parameters provided to `ListMeasurementProtocolSecrets` must match
2099  // the call that provided the page token.
2100  string page_token = 3;
2101}
2102
2103// Response message for ListMeasurementProtocolSecret RPC
2104message ListMeasurementProtocolSecretsResponse {
2105  // A list of secrets for the parent stream specified in the request.
2106  repeated MeasurementProtocolSecret measurement_protocol_secrets = 1;
2107
2108  // A token, which can be sent as `page_token` to retrieve the next page.
2109  // If this field is omitted, there are no subsequent pages.
2110  string next_page_token = 2;
2111}
2112
2113// Request message for GetSKAdNetworkConversionValueSchema RPC.
2114message GetSKAdNetworkConversionValueSchemaRequest {
2115  // Required. The resource name of SKAdNetwork conversion value schema to look
2116  // up. Format:
2117  // properties/{property}/dataStreams/{dataStream}/sKAdNetworkConversionValueSchema/{skadnetwork_conversion_value_schema}
2118  string name = 1 [
2119    (google.api.field_behavior) = REQUIRED,
2120    (google.api.resource_reference) = {
2121      type: "analyticsadmin.googleapis.com/SKAdNetworkConversionValueSchema"
2122    }
2123  ];
2124}
2125
2126// Request message for CreateSKAdNetworkConversionValueSchema RPC.
2127message CreateSKAdNetworkConversionValueSchemaRequest {
2128  // Required. The parent resource where this schema will be created.
2129  // Format: properties/{property}/dataStreams/{dataStream}
2130  string parent = 1 [
2131    (google.api.field_behavior) = REQUIRED,
2132    (google.api.resource_reference) = {
2133      child_type: "analyticsadmin.googleapis.com/SKAdNetworkConversionValueSchema"
2134    }
2135  ];
2136
2137  // Required. SKAdNetwork conversion value schema to create.
2138  SKAdNetworkConversionValueSchema skadnetwork_conversion_value_schema = 2
2139      [(google.api.field_behavior) = REQUIRED];
2140}
2141
2142// Request message for DeleteSKAdNetworkConversionValueSchema RPC.
2143message DeleteSKAdNetworkConversionValueSchemaRequest {
2144  // Required. The name of the SKAdNetworkConversionValueSchema to delete.
2145  // Format:
2146  // properties/{property}/dataStreams/{dataStream}/sKAdNetworkConversionValueSchema/{skadnetwork_conversion_value_schema}
2147  string name = 1 [
2148    (google.api.field_behavior) = REQUIRED,
2149    (google.api.resource_reference) = {
2150      type: "analyticsadmin.googleapis.com/SKAdNetworkConversionValueSchema"
2151    }
2152  ];
2153}
2154
2155// Request message for UpdateSKAdNetworkConversionValueSchema RPC.
2156message UpdateSKAdNetworkConversionValueSchemaRequest {
2157  // Required. SKAdNetwork conversion value schema to update.
2158  SKAdNetworkConversionValueSchema skadnetwork_conversion_value_schema = 1
2159      [(google.api.field_behavior) = REQUIRED];
2160
2161  // Required. The list of fields to be updated. Omitted fields will not be
2162  // updated.
2163  google.protobuf.FieldMask update_mask = 2
2164      [(google.api.field_behavior) = REQUIRED];
2165}
2166
2167// Request message for ListSKAdNetworkConversionValueSchemas RPC
2168message ListSKAdNetworkConversionValueSchemasRequest {
2169  // Required. The DataStream resource to list schemas for.
2170  // Format:
2171  // properties/{property_id}/dataStreams/{dataStream}
2172  // Example: properties/1234/dataStreams/5678
2173  string parent = 1 [
2174    (google.api.field_behavior) = REQUIRED,
2175    (google.api.resource_reference) = {
2176      child_type: "analyticsadmin.googleapis.com/SKAdNetworkConversionValueSchema"
2177    }
2178  ];
2179
2180  // The maximum number of resources to return. The service may return
2181  // fewer than this value, even if there are additional pages.
2182  // If unspecified, at most 50 resources will be returned.
2183  // The maximum value is 200; (higher values will be coerced to the maximum)
2184  int32 page_size = 2;
2185
2186  // A page token, received from a previous
2187  // `ListSKAdNetworkConversionValueSchemas` call. Provide this to retrieve the
2188  // subsequent page. When paginating, all other parameters provided to
2189  // `ListSKAdNetworkConversionValueSchema` must match the call that provided
2190  // the page token.
2191  string page_token = 3;
2192}
2193
2194// Response message for ListSKAdNetworkConversionValueSchemas RPC
2195message ListSKAdNetworkConversionValueSchemasResponse {
2196  // List of SKAdNetworkConversionValueSchemas. This will have at most one
2197  // value.
2198  repeated SKAdNetworkConversionValueSchema
2199      skadnetwork_conversion_value_schemas = 1;
2200
2201  // A token, which can be sent as `page_token` to retrieve the next page.
2202  // If this field is omitted, there are no subsequent pages.
2203  // Currently, Google Analytics supports only one
2204  // SKAdNetworkConversionValueSchema per dataStream, so this will never be
2205  // populated.
2206  string next_page_token = 2;
2207}
2208
2209// Request message for GetGoogleSignalsSettings RPC
2210message GetGoogleSignalsSettingsRequest {
2211  // Required. The name of the google signals settings to retrieve.
2212  // Format: properties/{property}/googleSignalsSettings
2213  string name = 1 [
2214    (google.api.field_behavior) = REQUIRED,
2215    (google.api.resource_reference) = {
2216      type: "analyticsadmin.googleapis.com/GoogleSignalsSettings"
2217    }
2218  ];
2219}
2220
2221// Request message for UpdateGoogleSignalsSettings RPC
2222message UpdateGoogleSignalsSettingsRequest {
2223  // Required. The settings to update.
2224  // The `name` field is used to identify the settings to be updated.
2225  GoogleSignalsSettings google_signals_settings = 1
2226      [(google.api.field_behavior) = REQUIRED];
2227
2228  // Required. The list of fields to be updated. Field names must be in snake
2229  // case (e.g., "field_to_update"). Omitted fields will not be updated. To
2230  // replace the entire entity, use one path with the string "*" to match all
2231  // fields.
2232  google.protobuf.FieldMask update_mask = 2
2233      [(google.api.field_behavior) = REQUIRED];
2234}
2235
2236// Request message for CreateConversionEvent RPC
2237message CreateConversionEventRequest {
2238  // Required. The conversion event to create.
2239  ConversionEvent conversion_event = 1 [(google.api.field_behavior) = REQUIRED];
2240
2241  // Required. The resource name of the parent property where this conversion
2242  // event will be created. Format: properties/123
2243  string parent = 2 [
2244    (google.api.field_behavior) = REQUIRED,
2245    (google.api.resource_reference) = {
2246      child_type: "analyticsadmin.googleapis.com/ConversionEvent"
2247    }
2248  ];
2249}
2250
2251// Request message for UpdateConversionEvent RPC
2252message UpdateConversionEventRequest {
2253  // Required. The conversion event to update.
2254  // The `name` field is used to identify the settings to be updated.
2255  ConversionEvent conversion_event = 1 [(google.api.field_behavior) = REQUIRED];
2256
2257  // Required. The list of fields to be updated. Field names must be in snake
2258  // case (e.g., "field_to_update"). Omitted fields will not be updated. To
2259  // replace the entire entity, use one path with the string "*" to match all
2260  // fields.
2261  google.protobuf.FieldMask update_mask = 2
2262      [(google.api.field_behavior) = REQUIRED];
2263}
2264
2265// Request message for GetConversionEvent RPC
2266message GetConversionEventRequest {
2267  // Required. The resource name of the conversion event to retrieve.
2268  // Format: properties/{property}/conversionEvents/{conversion_event}
2269  // Example: "properties/123/conversionEvents/456"
2270  string name = 1 [
2271    (google.api.field_behavior) = REQUIRED,
2272    (google.api.resource_reference) = {
2273      type: "analyticsadmin.googleapis.com/ConversionEvent"
2274    }
2275  ];
2276}
2277
2278// Request message for DeleteConversionEvent RPC
2279message DeleteConversionEventRequest {
2280  // Required. The resource name of the conversion event to delete.
2281  // Format: properties/{property}/conversionEvents/{conversion_event}
2282  // Example: "properties/123/conversionEvents/456"
2283  string name = 1 [
2284    (google.api.field_behavior) = REQUIRED,
2285    (google.api.resource_reference) = {
2286      type: "analyticsadmin.googleapis.com/ConversionEvent"
2287    }
2288  ];
2289}
2290
2291// Request message for ListConversionEvents RPC
2292message ListConversionEventsRequest {
2293  // Required. The resource name of the parent property.
2294  // Example: 'properties/123'
2295  string parent = 1 [
2296    (google.api.field_behavior) = REQUIRED,
2297    (google.api.resource_reference) = {
2298      child_type: "analyticsadmin.googleapis.com/ConversionEvent"
2299    }
2300  ];
2301
2302  // The maximum number of resources to return.
2303  // If unspecified, at most 50 resources will be returned.
2304  // The maximum value is 200; (higher values will be coerced to the maximum)
2305  int32 page_size = 2;
2306
2307  // A page token, received from a previous `ListConversionEvents` call.
2308  // Provide this to retrieve the subsequent page.
2309  // When paginating, all other parameters provided to `ListConversionEvents`
2310  // must match the call that provided the page token.
2311  string page_token = 3;
2312}
2313
2314// Response message for ListConversionEvents RPC.
2315message ListConversionEventsResponse {
2316  // The requested conversion events
2317  repeated ConversionEvent conversion_events = 1;
2318
2319  // A token, which can be sent as `page_token` to retrieve the next page.
2320  // If this field is omitted, there are no subsequent pages.
2321  string next_page_token = 2;
2322}
2323
2324// Request message for GetDisplayVideo360AdvertiserLink RPC.
2325message GetDisplayVideo360AdvertiserLinkRequest {
2326  // Required. The name of the DisplayVideo360AdvertiserLink to get.
2327  // Example format: properties/1234/displayVideo360AdvertiserLink/5678
2328  string name = 1 [
2329    (google.api.field_behavior) = REQUIRED,
2330    (google.api.resource_reference) = {
2331      type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLink"
2332    }
2333  ];
2334}
2335
2336// Request message for ListDisplayVideo360AdvertiserLinks RPC.
2337message ListDisplayVideo360AdvertiserLinksRequest {
2338  // Required. Example format: properties/1234
2339  string parent = 1 [
2340    (google.api.field_behavior) = REQUIRED,
2341    (google.api.resource_reference) = {
2342      child_type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLink"
2343    }
2344  ];
2345
2346  // The maximum number of resources to return.
2347  // If unspecified, at most 50 resources will be returned.
2348  // The maximum value is 200 (higher values will be coerced to the maximum).
2349  int32 page_size = 2;
2350
2351  // A page token, received from a previous `ListDisplayVideo360AdvertiserLinks`
2352  // call. Provide this to retrieve the subsequent page.
2353  //
2354  // When paginating, all other parameters provided to
2355  // `ListDisplayVideo360AdvertiserLinks` must match the call that provided the
2356  // page token.
2357  string page_token = 3;
2358}
2359
2360// Response message for ListDisplayVideo360AdvertiserLinks RPC.
2361message ListDisplayVideo360AdvertiserLinksResponse {
2362  // List of DisplayVideo360AdvertiserLinks.
2363  repeated DisplayVideo360AdvertiserLink display_video_360_advertiser_links = 1;
2364
2365  // A token, which can be sent as `page_token` to retrieve the next page.
2366  // If this field is omitted, there are no subsequent pages.
2367  string next_page_token = 2;
2368}
2369
2370// Request message for CreateDisplayVideo360AdvertiserLink RPC.
2371message CreateDisplayVideo360AdvertiserLinkRequest {
2372  // Required. Example format: properties/1234
2373  string parent = 1 [
2374    (google.api.field_behavior) = REQUIRED,
2375    (google.api.resource_reference) = {
2376      child_type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLink"
2377    }
2378  ];
2379
2380  // Required. The DisplayVideo360AdvertiserLink to create.
2381  DisplayVideo360AdvertiserLink display_video_360_advertiser_link = 2
2382      [(google.api.field_behavior) = REQUIRED];
2383}
2384
2385// Request message for DeleteDisplayVideo360AdvertiserLink RPC.
2386message DeleteDisplayVideo360AdvertiserLinkRequest {
2387  // Required. The name of the DisplayVideo360AdvertiserLink to delete.
2388  // Example format: properties/1234/displayVideo360AdvertiserLinks/5678
2389  string name = 1 [
2390    (google.api.field_behavior) = REQUIRED,
2391    (google.api.resource_reference) = {
2392      type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLink"
2393    }
2394  ];
2395}
2396
2397// Request message for UpdateDisplayVideo360AdvertiserLink RPC.
2398message UpdateDisplayVideo360AdvertiserLinkRequest {
2399  // The DisplayVideo360AdvertiserLink to update
2400  DisplayVideo360AdvertiserLink display_video_360_advertiser_link = 1;
2401
2402  // Required. The list of fields to be updated. Omitted fields will not be
2403  // updated. To replace the entire entity, use one path with the string "*" to
2404  // match all fields.
2405  google.protobuf.FieldMask update_mask = 2
2406      [(google.api.field_behavior) = REQUIRED];
2407}
2408
2409// Request message for GetDisplayVideo360AdvertiserLinkProposal RPC.
2410message GetDisplayVideo360AdvertiserLinkProposalRequest {
2411  // Required. The name of the DisplayVideo360AdvertiserLinkProposal to get.
2412  // Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678
2413  string name = 1 [
2414    (google.api.field_behavior) = REQUIRED,
2415    (google.api.resource_reference) = {
2416      type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal"
2417    }
2418  ];
2419}
2420
2421// Request message for ListDisplayVideo360AdvertiserLinkProposals RPC.
2422message ListDisplayVideo360AdvertiserLinkProposalsRequest {
2423  // Required. Example format: properties/1234
2424  string parent = 1 [
2425    (google.api.field_behavior) = REQUIRED,
2426    (google.api.resource_reference) = {
2427      child_type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal"
2428    }
2429  ];
2430
2431  // The maximum number of resources to return.
2432  // If unspecified, at most 50 resources will be returned.
2433  // The maximum value is 200 (higher values will be coerced to the maximum).
2434  int32 page_size = 2;
2435
2436  // A page token, received from a previous
2437  // `ListDisplayVideo360AdvertiserLinkProposals` call. Provide this to retrieve
2438  // the subsequent page.
2439  //
2440  // When paginating, all other parameters provided to
2441  // `ListDisplayVideo360AdvertiserLinkProposals` must match the call that
2442  // provided the page token.
2443  string page_token = 3;
2444}
2445
2446// Response message for ListDisplayVideo360AdvertiserLinkProposals RPC.
2447message ListDisplayVideo360AdvertiserLinkProposalsResponse {
2448  // List of DisplayVideo360AdvertiserLinkProposals.
2449  repeated DisplayVideo360AdvertiserLinkProposal
2450      display_video_360_advertiser_link_proposals = 1;
2451
2452  // A token, which can be sent as `page_token` to retrieve the next page.
2453  // If this field is omitted, there are no subsequent pages.
2454  string next_page_token = 2;
2455}
2456
2457// Request message for CreateDisplayVideo360AdvertiserLinkProposal RPC.
2458message CreateDisplayVideo360AdvertiserLinkProposalRequest {
2459  // Required. Example format: properties/1234
2460  string parent = 1 [
2461    (google.api.field_behavior) = REQUIRED,
2462    (google.api.resource_reference) = {
2463      child_type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal"
2464    }
2465  ];
2466
2467  // Required. The DisplayVideo360AdvertiserLinkProposal to create.
2468  DisplayVideo360AdvertiserLinkProposal
2469      display_video_360_advertiser_link_proposal = 2
2470      [(google.api.field_behavior) = REQUIRED];
2471}
2472
2473// Request message for DeleteDisplayVideo360AdvertiserLinkProposal RPC.
2474message DeleteDisplayVideo360AdvertiserLinkProposalRequest {
2475  // Required. The name of the DisplayVideo360AdvertiserLinkProposal to delete.
2476  // Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678
2477  string name = 1 [
2478    (google.api.field_behavior) = REQUIRED,
2479    (google.api.resource_reference) = {
2480      type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal"
2481    }
2482  ];
2483}
2484
2485// Request message for ApproveDisplayVideo360AdvertiserLinkProposal RPC.
2486message ApproveDisplayVideo360AdvertiserLinkProposalRequest {
2487  // Required. The name of the DisplayVideo360AdvertiserLinkProposal to approve.
2488  // Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678
2489  string name = 1 [
2490    (google.api.field_behavior) = REQUIRED,
2491    (google.api.resource_reference) = {
2492      type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal"
2493    }
2494  ];
2495}
2496
2497// Response message for ApproveDisplayVideo360AdvertiserLinkProposal RPC.
2498message ApproveDisplayVideo360AdvertiserLinkProposalResponse {
2499  // The DisplayVideo360AdvertiserLink created as a result of approving the
2500  // proposal.
2501  DisplayVideo360AdvertiserLink display_video_360_advertiser_link = 1;
2502}
2503
2504// Request message for CancelDisplayVideo360AdvertiserLinkProposal RPC.
2505message CancelDisplayVideo360AdvertiserLinkProposalRequest {
2506  // Required. The name of the DisplayVideo360AdvertiserLinkProposal to cancel.
2507  // Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678
2508  string name = 1 [
2509    (google.api.field_behavior) = REQUIRED,
2510    (google.api.resource_reference) = {
2511      type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal"
2512    }
2513  ];
2514}
2515
2516// Request message for GetSearchAds360Link RPC.
2517message GetSearchAds360LinkRequest {
2518  // Required. The name of the SearchAds360Link to get.
2519  // Example format: properties/1234/SearchAds360Link/5678
2520  string name = 1 [
2521    (google.api.field_behavior) = REQUIRED,
2522    (google.api.resource_reference) = {
2523      type: "analyticsadmin.googleapis.com/SearchAds360Link"
2524    }
2525  ];
2526}
2527
2528// Request message for ListSearchAds360Links RPC.
2529message ListSearchAds360LinksRequest {
2530  // Required. Example format: properties/1234
2531  string parent = 1 [
2532    (google.api.field_behavior) = REQUIRED,
2533    (google.api.resource_reference) = {
2534      child_type: "analyticsadmin.googleapis.com/SearchAds360Link"
2535    }
2536  ];
2537
2538  // The maximum number of resources to return.
2539  // If unspecified, at most 50 resources will be returned.
2540  // The maximum value is 200 (higher values will be coerced to the maximum).
2541  int32 page_size = 2;
2542
2543  // A page token, received from a previous `ListSearchAds360Links`
2544  // call. Provide this to retrieve the subsequent page.
2545  //
2546  // When paginating, all other parameters provided to
2547  // `ListSearchAds360Links` must match the call that provided the
2548  // page token.
2549  string page_token = 3;
2550}
2551
2552// Response message for ListSearchAds360Links RPC.
2553message ListSearchAds360LinksResponse {
2554  // List of SearchAds360Links.
2555  repeated SearchAds360Link search_ads_360_links = 1;
2556
2557  // A token, which can be sent as `page_token` to retrieve the next page.
2558  // If this field is omitted, there are no subsequent pages.
2559  string next_page_token = 2;
2560}
2561
2562// Request message for CreateSearchAds360Link RPC.
2563message CreateSearchAds360LinkRequest {
2564  // Required. Example format: properties/1234
2565  string parent = 1 [
2566    (google.api.field_behavior) = REQUIRED,
2567    (google.api.resource_reference) = {
2568      child_type: "analyticsadmin.googleapis.com/SearchAds360Link"
2569    }
2570  ];
2571
2572  // Required. The SearchAds360Link to create.
2573  SearchAds360Link search_ads_360_link = 2
2574      [(google.api.field_behavior) = REQUIRED];
2575}
2576
2577// Request message for DeleteSearchAds360Link RPC.
2578message DeleteSearchAds360LinkRequest {
2579  // Required. The name of the SearchAds360Link to delete.
2580  // Example format: properties/1234/SearchAds360Links/5678
2581  string name = 1 [
2582    (google.api.field_behavior) = REQUIRED,
2583    (google.api.resource_reference) = {
2584      type: "analyticsadmin.googleapis.com/SearchAds360Link"
2585    }
2586  ];
2587}
2588
2589// Request message for UpdateSearchAds360Link RPC.
2590message UpdateSearchAds360LinkRequest {
2591  // The SearchAds360Link to update
2592  SearchAds360Link search_ads_360_link = 1;
2593
2594  // Required. The list of fields to be updated. Omitted fields will not be
2595  // updated. To replace the entire entity, use one path with the string "*" to
2596  // match all fields.
2597  google.protobuf.FieldMask update_mask = 2
2598      [(google.api.field_behavior) = REQUIRED];
2599}
2600
2601// Request message for CreateCustomDimension RPC.
2602message CreateCustomDimensionRequest {
2603  // Required. Example format: properties/1234
2604  string parent = 1 [
2605    (google.api.field_behavior) = REQUIRED,
2606    (google.api.resource_reference) = {
2607      child_type: "analyticsadmin.googleapis.com/CustomDimension"
2608    }
2609  ];
2610
2611  // Required. The CustomDimension to create.
2612  CustomDimension custom_dimension = 2 [(google.api.field_behavior) = REQUIRED];
2613}
2614
2615// Request message for UpdateCustomDimension RPC.
2616message UpdateCustomDimensionRequest {
2617  // The CustomDimension to update
2618  CustomDimension custom_dimension = 1;
2619
2620  // Required. The list of fields to be updated. Omitted fields will not be
2621  // updated. To replace the entire entity, use one path with the string "*" to
2622  // match all fields.
2623  google.protobuf.FieldMask update_mask = 2
2624      [(google.api.field_behavior) = REQUIRED];
2625}
2626
2627// Request message for ListCustomDimensions RPC.
2628message ListCustomDimensionsRequest {
2629  // Required. Example format: properties/1234
2630  string parent = 1 [
2631    (google.api.field_behavior) = REQUIRED,
2632    (google.api.resource_reference) = {
2633      child_type: "analyticsadmin.googleapis.com/CustomDimension"
2634    }
2635  ];
2636
2637  // The maximum number of resources to return.
2638  // If unspecified, at most 50 resources will be returned.
2639  // The maximum value is 200 (higher values will be coerced to the maximum).
2640  int32 page_size = 2;
2641
2642  // A page token, received from a previous `ListCustomDimensions` call.
2643  // Provide this to retrieve the subsequent page.
2644  //
2645  // When paginating, all other parameters provided to `ListCustomDimensions`
2646  // must match the call that provided the page token.
2647  string page_token = 3;
2648}
2649
2650// Response message for ListCustomDimensions RPC.
2651message ListCustomDimensionsResponse {
2652  // List of CustomDimensions.
2653  repeated CustomDimension custom_dimensions = 1;
2654
2655  // A token, which can be sent as `page_token` to retrieve the next page.
2656  // If this field is omitted, there are no subsequent pages.
2657  string next_page_token = 2;
2658}
2659
2660// Request message for ArchiveCustomDimension RPC.
2661message ArchiveCustomDimensionRequest {
2662  // Required. The name of the CustomDimension to archive.
2663  // Example format: properties/1234/customDimensions/5678
2664  string name = 1 [
2665    (google.api.field_behavior) = REQUIRED,
2666    (google.api.resource_reference) = {
2667      type: "analyticsadmin.googleapis.com/CustomDimension"
2668    }
2669  ];
2670}
2671
2672// Request message for GetCustomDimension RPC.
2673message GetCustomDimensionRequest {
2674  // Required. The name of the CustomDimension to get.
2675  // Example format: properties/1234/customDimensions/5678
2676  string name = 1 [
2677    (google.api.field_behavior) = REQUIRED,
2678    (google.api.resource_reference) = {
2679      type: "analyticsadmin.googleapis.com/CustomDimension"
2680    }
2681  ];
2682}
2683
2684// Request message for CreateCustomMetric RPC.
2685message CreateCustomMetricRequest {
2686  // Required. Example format: properties/1234
2687  string parent = 1 [
2688    (google.api.field_behavior) = REQUIRED,
2689    (google.api.resource_reference) = {
2690      child_type: "analyticsadmin.googleapis.com/CustomMetric"
2691    }
2692  ];
2693
2694  // Required. The CustomMetric to create.
2695  CustomMetric custom_metric = 2 [(google.api.field_behavior) = REQUIRED];
2696}
2697
2698// Request message for UpdateCustomMetric RPC.
2699message UpdateCustomMetricRequest {
2700  // The CustomMetric to update
2701  CustomMetric custom_metric = 1;
2702
2703  // Required. The list of fields to be updated. Omitted fields will not be
2704  // updated. To replace the entire entity, use one path with the string "*" to
2705  // match all fields.
2706  google.protobuf.FieldMask update_mask = 2
2707      [(google.api.field_behavior) = REQUIRED];
2708}
2709
2710// Request message for ListCustomMetrics RPC.
2711message ListCustomMetricsRequest {
2712  // Required. Example format: properties/1234
2713  string parent = 1 [
2714    (google.api.field_behavior) = REQUIRED,
2715    (google.api.resource_reference) = {
2716      child_type: "analyticsadmin.googleapis.com/CustomMetric"
2717    }
2718  ];
2719
2720  // The maximum number of resources to return.
2721  // If unspecified, at most 50 resources will be returned.
2722  // The maximum value is 200 (higher values will be coerced to the maximum).
2723  int32 page_size = 2;
2724
2725  // A page token, received from a previous `ListCustomMetrics` call.
2726  // Provide this to retrieve the subsequent page.
2727  //
2728  // When paginating, all other parameters provided to `ListCustomMetrics` must
2729  // match the call that provided the page token.
2730  string page_token = 3;
2731}
2732
2733// Response message for ListCustomMetrics RPC.
2734message ListCustomMetricsResponse {
2735  // List of CustomMetrics.
2736  repeated CustomMetric custom_metrics = 1;
2737
2738  // A token, which can be sent as `page_token` to retrieve the next page.
2739  // If this field is omitted, there are no subsequent pages.
2740  string next_page_token = 2;
2741}
2742
2743// Request message for ArchiveCustomMetric RPC.
2744message ArchiveCustomMetricRequest {
2745  // Required. The name of the CustomMetric to archive.
2746  // Example format: properties/1234/customMetrics/5678
2747  string name = 1 [
2748    (google.api.field_behavior) = REQUIRED,
2749    (google.api.resource_reference) = {
2750      type: "analyticsadmin.googleapis.com/CustomMetric"
2751    }
2752  ];
2753}
2754
2755// Request message for GetCustomMetric RPC.
2756message GetCustomMetricRequest {
2757  // Required. The name of the CustomMetric to get.
2758  // Example format: properties/1234/customMetrics/5678
2759  string name = 1 [
2760    (google.api.field_behavior) = REQUIRED,
2761    (google.api.resource_reference) = {
2762      type: "analyticsadmin.googleapis.com/CustomMetric"
2763    }
2764  ];
2765}
2766
2767// Request message for CreateCalculatedMetric RPC.
2768message CreateCalculatedMetricRequest {
2769  // Required. Format: properties/{property_id}
2770  // Example: properties/1234
2771  string parent = 1 [
2772    (google.api.field_behavior) = REQUIRED,
2773    (google.api.resource_reference) = {
2774      child_type: "analyticsadmin.googleapis.com/CalculatedMetric"
2775    }
2776  ];
2777
2778  // Required. The ID to use for the calculated metric which will become the
2779  // final component of the calculated metric's resource name.
2780  //
2781  // This value should be 1-80 characters and valid characters are
2782  // /[a-zA-Z0-9_]/, no spaces allowed. calculated_metric_id must be unique
2783  // between all calculated metrics under a property. The calculated_metric_id
2784  // is used when referencing this calculated metric from external APIs, for
2785  // example, "calcMetric:{calculated_metric_id}".
2786  string calculated_metric_id = 2 [(google.api.field_behavior) = REQUIRED];
2787
2788  // Required. The CalculatedMetric to create.
2789  CalculatedMetric calculated_metric = 3
2790      [(google.api.field_behavior) = REQUIRED];
2791}
2792
2793// Request message for UpdateCalculatedMetric RPC.
2794message UpdateCalculatedMetricRequest {
2795  // Required. The CalculatedMetric to update
2796  CalculatedMetric calculated_metric = 1
2797      [(google.api.field_behavior) = REQUIRED];
2798
2799  // Required. The list of fields to be updated. Omitted fields will not be
2800  // updated. To replace the entire entity, use one path with the string "*" to
2801  // match all fields.
2802  google.protobuf.FieldMask update_mask = 2
2803      [(google.api.field_behavior) = REQUIRED];
2804}
2805
2806// Request message for DeleteCalculatedMetric RPC.
2807message DeleteCalculatedMetricRequest {
2808  // Required. The name of the CalculatedMetric to delete.
2809  // Format: properties/{property_id}/calculatedMetrics/{calculated_metric_id}
2810  // Example: properties/1234/calculatedMetrics/Metric01
2811  string name = 1 [
2812    (google.api.field_behavior) = REQUIRED,
2813    (google.api.resource_reference) = {
2814      type: "analyticsadmin.googleapis.com/CalculatedMetric"
2815    }
2816  ];
2817}
2818
2819// Request message for ListCalculatedMetrics RPC.
2820message ListCalculatedMetricsRequest {
2821  // Required. Example format: properties/1234
2822  string parent = 1 [
2823    (google.api.field_behavior) = REQUIRED,
2824    (google.api.resource_reference) = {
2825      child_type: "analyticsadmin.googleapis.com/CalculatedMetric"
2826    }
2827  ];
2828
2829  // Optional. The maximum number of resources to return.
2830  // If unspecified, at most 50 resources will be returned.
2831  // The maximum value is 200 (higher values will be coerced to the maximum).
2832  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
2833
2834  // Optional. A page token, received from a previous `ListCalculatedMetrics`
2835  // call. Provide this to retrieve the subsequent page.
2836  //
2837  // When paginating, all other parameters provided to `ListCalculatedMetrics`
2838  // must match the call that provided the page token.
2839  string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
2840}
2841
2842// Response message for ListCalculatedMetrics RPC.
2843message ListCalculatedMetricsResponse {
2844  // List of CalculatedMetrics.
2845  repeated CalculatedMetric calculated_metrics = 1;
2846
2847  // A token, which can be sent as `page_token` to retrieve the next page.
2848  // If this field is omitted, there are no subsequent pages.
2849  string next_page_token = 2;
2850}
2851
2852// Request message for GetCalculatedMetric RPC.
2853message GetCalculatedMetricRequest {
2854  // Required. The name of the CalculatedMetric to get.
2855  // Format: properties/{property_id}/calculatedMetrics/{calculated_metric_id}
2856  // Example: properties/1234/calculatedMetrics/Metric01
2857  string name = 1 [
2858    (google.api.field_behavior) = REQUIRED,
2859    (google.api.resource_reference) = {
2860      type: "analyticsadmin.googleapis.com/CalculatedMetric"
2861    }
2862  ];
2863}
2864
2865// Request message for GetDataRetentionSettings RPC.
2866message GetDataRetentionSettingsRequest {
2867  // Required. The name of the settings to lookup.
2868  // Format:
2869  // properties/{property}/dataRetentionSettings
2870  // Example: "properties/1000/dataRetentionSettings"
2871  string name = 1 [
2872    (google.api.field_behavior) = REQUIRED,
2873    (google.api.resource_reference) = {
2874      type: "analyticsadmin.googleapis.com/DataRetentionSettings"
2875    }
2876  ];
2877}
2878
2879// Request message for UpdateDataRetentionSettings RPC.
2880message UpdateDataRetentionSettingsRequest {
2881  // Required. The settings to update.
2882  // The `name` field is used to identify the settings to be updated.
2883  DataRetentionSettings data_retention_settings = 1
2884      [(google.api.field_behavior) = REQUIRED];
2885
2886  // Required. The list of fields to be updated. Field names must be in snake
2887  // case (e.g., "field_to_update"). Omitted fields will not be updated. To
2888  // replace the entire entity, use one path with the string "*" to match all
2889  // fields.
2890  google.protobuf.FieldMask update_mask = 2
2891      [(google.api.field_behavior) = REQUIRED];
2892}
2893
2894// Request message for CreateDataStream RPC.
2895message CreateDataStreamRequest {
2896  // Required. Example format: properties/1234
2897  string parent = 1 [
2898    (google.api.field_behavior) = REQUIRED,
2899    (google.api.resource_reference) = {
2900      child_type: "analyticsadmin.googleapis.com/DataStream"
2901    }
2902  ];
2903
2904  // Required. The DataStream to create.
2905  DataStream data_stream = 2 [(google.api.field_behavior) = REQUIRED];
2906}
2907
2908// Request message for DeleteDataStream RPC.
2909message DeleteDataStreamRequest {
2910  // Required. The name of the DataStream to delete.
2911  // Example format: properties/1234/dataStreams/5678
2912  string name = 1 [
2913    (google.api.field_behavior) = REQUIRED,
2914    (google.api.resource_reference) = {
2915      type: "analyticsadmin.googleapis.com/DataStream"
2916    }
2917  ];
2918}
2919
2920// Request message for UpdateDataStream RPC.
2921message UpdateDataStreamRequest {
2922  // The DataStream to update
2923  DataStream data_stream = 1;
2924
2925  // Required. The list of fields to be updated. Omitted fields will not be
2926  // updated. To replace the entire entity, use one path with the string "*" to
2927  // match all fields.
2928  google.protobuf.FieldMask update_mask = 2
2929      [(google.api.field_behavior) = REQUIRED];
2930}
2931
2932// Request message for ListDataStreams RPC.
2933message ListDataStreamsRequest {
2934  // Required. Example format: properties/1234
2935  string parent = 1 [
2936    (google.api.field_behavior) = REQUIRED,
2937    (google.api.resource_reference) = {
2938      child_type: "analyticsadmin.googleapis.com/DataStream"
2939    }
2940  ];
2941
2942  // The maximum number of resources to return.
2943  // If unspecified, at most 50 resources will be returned.
2944  // The maximum value is 200 (higher values will be coerced to the maximum).
2945  int32 page_size = 2;
2946
2947  // A page token, received from a previous `ListDataStreams` call.
2948  // Provide this to retrieve the subsequent page.
2949  //
2950  // When paginating, all other parameters provided to `ListDataStreams` must
2951  // match the call that provided the page token.
2952  string page_token = 3;
2953}
2954
2955// Response message for ListDataStreams RPC.
2956message ListDataStreamsResponse {
2957  // List of DataStreams.
2958  repeated DataStream data_streams = 1;
2959
2960  // A token, which can be sent as `page_token` to retrieve the next page.
2961  // If this field is omitted, there are no subsequent pages.
2962  string next_page_token = 2;
2963}
2964
2965// Request message for GetDataStream RPC.
2966message GetDataStreamRequest {
2967  // Required. The name of the DataStream to get.
2968  // Example format: properties/1234/dataStreams/5678
2969  string name = 1 [
2970    (google.api.field_behavior) = REQUIRED,
2971    (google.api.resource_reference) = {
2972      type: "analyticsadmin.googleapis.com/DataStream"
2973    }
2974  ];
2975}
2976
2977// Request message for GetAudience RPC.
2978message GetAudienceRequest {
2979  // Required. The name of the Audience to get.
2980  // Example format: properties/1234/audiences/5678
2981  string name = 1 [
2982    (google.api.field_behavior) = REQUIRED,
2983    (google.api.resource_reference) = {
2984      type: "analyticsadmin.googleapis.com/Audience"
2985    }
2986  ];
2987}
2988
2989// Request message for ListAudiences RPC.
2990message ListAudiencesRequest {
2991  // Required. Example format: properties/1234
2992  string parent = 1 [
2993    (google.api.field_behavior) = REQUIRED,
2994    (google.api.resource_reference) = {
2995      child_type: "analyticsadmin.googleapis.com/Audience"
2996    }
2997  ];
2998
2999  // The maximum number of resources to return.
3000  // If unspecified, at most 50 resources will be returned.
3001  // The maximum value is 200 (higher values will be coerced to the maximum).
3002  int32 page_size = 2;
3003
3004  // A page token, received from a previous `ListAudiences` call. Provide this
3005  // to retrieve the subsequent page.
3006  //
3007  // When paginating, all other parameters provided to `ListAudiences` must
3008  // match the call that provided the page token.
3009  string page_token = 3;
3010}
3011
3012// Response message for ListAudiences RPC.
3013message ListAudiencesResponse {
3014  // List of Audiences.
3015  repeated Audience audiences = 1;
3016
3017  // A token, which can be sent as `page_token` to retrieve the next page.
3018  // If this field is omitted, there are no subsequent pages.
3019  string next_page_token = 2;
3020}
3021
3022// Request message for CreateAudience RPC.
3023message CreateAudienceRequest {
3024  // Required. Example format: properties/1234
3025  string parent = 1 [
3026    (google.api.field_behavior) = REQUIRED,
3027    (google.api.resource_reference) = {
3028      child_type: "analyticsadmin.googleapis.com/Audience"
3029    }
3030  ];
3031
3032  // Required. The audience to create.
3033  Audience audience = 2 [(google.api.field_behavior) = REQUIRED];
3034}
3035
3036// Request message for UpdateAudience RPC.
3037message UpdateAudienceRequest {
3038  // Required. The audience to update.
3039  // The audience's `name` field is used to identify the audience to be updated.
3040  Audience audience = 1 [(google.api.field_behavior) = REQUIRED];
3041
3042  // Required. The list of fields to be updated. Field names must be in snake
3043  // case (e.g., "field_to_update"). Omitted fields will not be updated. To
3044  // replace the entire entity, use one path with the string "*" to match all
3045  // fields.
3046  google.protobuf.FieldMask update_mask = 2
3047      [(google.api.field_behavior) = REQUIRED];
3048}
3049
3050// Request message for ArchiveAudience RPC.
3051message ArchiveAudienceRequest {
3052  // Required. Example format: properties/1234/audiences/5678
3053  string name = 1 [
3054    (google.api.field_behavior) = REQUIRED,
3055    (google.api.resource_reference) = {
3056      child_type: "analyticsadmin.googleapis.com/Audience"
3057    }
3058  ];
3059}
3060
3061// Request message for GetAttributionSettings RPC.
3062message GetAttributionSettingsRequest {
3063  // Required. The name of the attribution settings to retrieve.
3064  // Format: properties/{property}/attributionSettings
3065  string name = 1 [
3066    (google.api.field_behavior) = REQUIRED,
3067    (google.api.resource_reference) = {
3068      type: "analyticsadmin.googleapis.com/AttributionSettings"
3069    }
3070  ];
3071}
3072
3073// Request message for UpdateAttributionSettings RPC
3074message UpdateAttributionSettingsRequest {
3075  // Required. The attribution settings to update.
3076  // The `name` field is used to identify the settings to be updated.
3077  AttributionSettings attribution_settings = 1
3078      [(google.api.field_behavior) = REQUIRED];
3079
3080  // Required. The list of fields to be updated. Field names must be in snake
3081  // case (e.g., "field_to_update"). Omitted fields will not be updated. To
3082  // replace the entire entity, use one path with the string "*" to match all
3083  // fields.
3084  google.protobuf.FieldMask update_mask = 2
3085      [(google.api.field_behavior) = REQUIRED];
3086}
3087
3088// Request message for GetAccessBinding RPC.
3089message GetAccessBindingRequest {
3090  // Required. The name of the access binding to retrieve.
3091  // Formats:
3092  // - accounts/{account}/accessBindings/{accessBinding}
3093  // - properties/{property}/accessBindings/{accessBinding}
3094  string name = 1 [
3095    (google.api.field_behavior) = REQUIRED,
3096    (google.api.resource_reference) = {
3097      type: "analyticsadmin.googleapis.com/AccessBinding"
3098    }
3099  ];
3100}
3101
3102// Request message for BatchGetAccessBindings RPC.
3103message BatchGetAccessBindingsRequest {
3104  // Required. The account or property that owns the access bindings. The parent
3105  // of all provided values for the 'names' field must match this field.
3106  // Formats:
3107  // - accounts/{account}
3108  // - properties/{property}
3109  string parent = 1 [
3110    (google.api.field_behavior) = REQUIRED,
3111    (google.api.resource_reference) = {
3112      child_type: "analyticsadmin.googleapis.com/AccessBinding"
3113    }
3114  ];
3115
3116  // Required. The names of the access bindings to retrieve.
3117  // A maximum of 1000 access bindings can be retrieved in a batch.
3118  // Formats:
3119  // - accounts/{account}/accessBindings/{accessBinding}
3120  // - properties/{property}/accessBindings/{accessBinding}
3121  repeated string names = 2 [
3122    (google.api.field_behavior) = REQUIRED,
3123    (google.api.resource_reference) = {
3124      type: "analyticsadmin.googleapis.com/AccessBinding"
3125    }
3126  ];
3127}
3128
3129// Response message for BatchGetAccessBindings RPC.
3130message BatchGetAccessBindingsResponse {
3131  // The requested access bindings.
3132  repeated AccessBinding access_bindings = 1;
3133}
3134
3135// Request message for ListAccessBindings RPC.
3136message ListAccessBindingsRequest {
3137  // Required. Formats:
3138  // - accounts/{account}
3139  // - properties/{property}
3140  string parent = 1 [
3141    (google.api.field_behavior) = REQUIRED,
3142    (google.api.resource_reference) = {
3143      child_type: "analyticsadmin.googleapis.com/AccessBinding"
3144    }
3145  ];
3146
3147  // The maximum number of access bindings to return.
3148  // The service may return fewer than this value.
3149  // If unspecified, at most 200 access bindings will be returned.
3150  // The maximum value is 500; values above 500 will be coerced to 500.
3151  int32 page_size = 2;
3152
3153  // A page token, received from a previous `ListAccessBindings` call.
3154  // Provide this to retrieve the subsequent page.
3155  // When paginating, all other parameters provided to `ListAccessBindings` must
3156  // match the call that provided the page token.
3157  string page_token = 3;
3158}
3159
3160// Response message for ListAccessBindings RPC.
3161message ListAccessBindingsResponse {
3162  // List of AccessBindings. These will be ordered stably, but in an arbitrary
3163  // order.
3164  repeated AccessBinding access_bindings = 1;
3165
3166  // A token, which can be sent as `page_token` to retrieve the next page.
3167  // If this field is omitted, there are no subsequent pages.
3168  string next_page_token = 2;
3169}
3170
3171// Request message for CreateAccessBinding RPC.
3172message CreateAccessBindingRequest {
3173  // Required. Formats:
3174  // - accounts/{account}
3175  // - properties/{property}
3176  string parent = 1 [
3177    (google.api.field_behavior) = REQUIRED,
3178    (google.api.resource_reference) = {
3179      child_type: "analyticsadmin.googleapis.com/AccessBinding"
3180    }
3181  ];
3182
3183  // Required. The access binding to create.
3184  AccessBinding access_binding = 2 [(google.api.field_behavior) = REQUIRED];
3185}
3186
3187// Request message for BatchCreateAccessBindings RPC.
3188message BatchCreateAccessBindingsRequest {
3189  // Required. The account or property that owns the access bindings. The parent
3190  // field in the CreateAccessBindingRequest messages must either be empty or
3191  // match this field. Formats:
3192  // - accounts/{account}
3193  // - properties/{property}
3194  string parent = 1 [
3195    (google.api.field_behavior) = REQUIRED,
3196    (google.api.resource_reference) = {
3197      child_type: "analyticsadmin.googleapis.com/AccessBinding"
3198    }
3199  ];
3200
3201  // Required. The requests specifying the access bindings to create.
3202  // A maximum of 1000 access bindings can be created in a batch.
3203  repeated CreateAccessBindingRequest requests = 3
3204      [(google.api.field_behavior) = REQUIRED];
3205}
3206
3207// Response message for BatchCreateAccessBindings RPC.
3208message BatchCreateAccessBindingsResponse {
3209  // The access bindings created.
3210  repeated AccessBinding access_bindings = 1;
3211}
3212
3213// Request message for UpdateAccessBinding RPC.
3214message UpdateAccessBindingRequest {
3215  // Required. The access binding to update.
3216  AccessBinding access_binding = 1 [(google.api.field_behavior) = REQUIRED];
3217}
3218
3219// Request message for BatchUpdateAccessBindings RPC.
3220message BatchUpdateAccessBindingsRequest {
3221  // Required. The account or property that owns the access bindings. The parent
3222  // of all provided AccessBinding in UpdateAccessBindingRequest messages must
3223  // match this field.
3224  // Formats:
3225  // - accounts/{account}
3226  // - properties/{property}
3227  string parent = 1 [
3228    (google.api.field_behavior) = REQUIRED,
3229    (google.api.resource_reference) = {
3230      child_type: "analyticsadmin.googleapis.com/AccessBinding"
3231    }
3232  ];
3233
3234  // Required. The requests specifying the access bindings to update.
3235  // A maximum of 1000 access bindings can be updated in a batch.
3236  repeated UpdateAccessBindingRequest requests = 2
3237      [(google.api.field_behavior) = REQUIRED];
3238}
3239
3240// Response message for BatchUpdateAccessBindings RPC.
3241message BatchUpdateAccessBindingsResponse {
3242  // The access bindings updated.
3243  repeated AccessBinding access_bindings = 1;
3244}
3245
3246// Request message for DeleteAccessBinding RPC.
3247message DeleteAccessBindingRequest {
3248  // Required. Formats:
3249  // - accounts/{account}/accessBindings/{accessBinding}
3250  // - properties/{property}/accessBindings/{accessBinding}
3251  string name = 1 [
3252    (google.api.field_behavior) = REQUIRED,
3253    (google.api.resource_reference) = {
3254      type: "analyticsadmin.googleapis.com/AccessBinding"
3255    }
3256  ];
3257}
3258
3259// Request message for BatchDeleteAccessBindings RPC.
3260message BatchDeleteAccessBindingsRequest {
3261  // Required. The account or property that owns the access bindings. The parent
3262  // of all provided values for the 'names' field in DeleteAccessBindingRequest
3263  // messages must match this field. Formats:
3264  // - accounts/{account}
3265  // - properties/{property}
3266  string parent = 1 [
3267    (google.api.field_behavior) = REQUIRED,
3268    (google.api.resource_reference) = {
3269      child_type: "analyticsadmin.googleapis.com/AccessBinding"
3270    }
3271  ];
3272
3273  // Required. The requests specifying the access bindings to delete.
3274  // A maximum of 1000 access bindings can be deleted in a batch.
3275  repeated DeleteAccessBindingRequest requests = 2
3276      [(google.api.field_behavior) = REQUIRED];
3277}
3278
3279// Request message for CreateExpandedDataSet RPC.
3280message CreateExpandedDataSetRequest {
3281  // Required. Example format: properties/1234
3282  string parent = 1 [
3283    (google.api.field_behavior) = REQUIRED,
3284    (google.api.resource_reference) = {
3285      child_type: "analyticsadmin.googleapis.com/ExpandedDataSet"
3286    }
3287  ];
3288
3289  // Required. The ExpandedDataSet to create.
3290  ExpandedDataSet expanded_data_set = 2
3291      [(google.api.field_behavior) = REQUIRED];
3292}
3293
3294// Request message for UpdateExpandedDataSet RPC.
3295message UpdateExpandedDataSetRequest {
3296  // Required. The ExpandedDataSet to update.
3297  // The resource's `name` field is used to identify the ExpandedDataSet to be
3298  // updated.
3299  ExpandedDataSet expanded_data_set = 1
3300      [(google.api.field_behavior) = REQUIRED];
3301
3302  // Required. The list of fields to be updated. Field names must be in snake
3303  // case (e.g., "field_to_update"). Omitted fields will not be updated. To
3304  // replace the entire entity, use one path with the string "*" to match all
3305  // fields.
3306  google.protobuf.FieldMask update_mask = 2
3307      [(google.api.field_behavior) = REQUIRED];
3308}
3309
3310// Request message for DeleteExpandedDataSet RPC.
3311message DeleteExpandedDataSetRequest {
3312  // Required. Example format: properties/1234/expandedDataSets/5678
3313  string name = 1 [
3314    (google.api.field_behavior) = REQUIRED,
3315    (google.api.resource_reference) = {
3316      type: "analyticsadmin.googleapis.com/ExpandedDataSet"
3317    }
3318  ];
3319}
3320
3321// Request message for GetExpandedDataSet RPC.
3322message GetExpandedDataSetRequest {
3323  // Required. The name of the ExpandedDataSet to get.
3324  // Example format: properties/1234/expandedDataSets/5678
3325  string name = 1 [
3326    (google.api.field_behavior) = REQUIRED,
3327    (google.api.resource_reference) = {
3328      type: "analyticsadmin.googleapis.com/ExpandedDataSet"
3329    }
3330  ];
3331}
3332
3333// Request message for ListExpandedDataSets RPC.
3334message ListExpandedDataSetsRequest {
3335  // Required. Example format: properties/1234
3336  string parent = 1 [
3337    (google.api.field_behavior) = REQUIRED,
3338    (google.api.resource_reference) = {
3339      child_type: "analyticsadmin.googleapis.com/ExpandedDataSet"
3340    }
3341  ];
3342
3343  // The maximum number of resources to return.
3344  // If unspecified, at most 50 resources will be returned.
3345  // The maximum value is 200 (higher values will be coerced to the maximum).
3346  int32 page_size = 2;
3347
3348  // A page token, received from a previous `ListExpandedDataSets` call. Provide
3349  // this to retrieve the subsequent page.
3350  //
3351  // When paginating, all other parameters provided to `ListExpandedDataSet`
3352  // must match the call that provided the page token.
3353  string page_token = 3;
3354}
3355
3356// Response message for ListExpandedDataSets RPC.
3357message ListExpandedDataSetsResponse {
3358  // List of ExpandedDataSet. These will be ordered stably, but in an arbitrary
3359  // order.
3360  repeated ExpandedDataSet expanded_data_sets = 1;
3361
3362  // A token, which can be sent as `page_token` to retrieve the next page.
3363  // If this field is omitted, there are no subsequent pages.
3364  string next_page_token = 2;
3365}
3366
3367// Request message for CreateChannelGroup RPC.
3368message CreateChannelGroupRequest {
3369  // Required. The property for which to create a ChannelGroup.
3370  // Example format: properties/1234
3371  string parent = 1 [
3372    (google.api.field_behavior) = REQUIRED,
3373    (google.api.resource_reference) = {
3374      child_type: "analyticsadmin.googleapis.com/ChannelGroup"
3375    }
3376  ];
3377
3378  // Required. The ChannelGroup to create.
3379  ChannelGroup channel_group = 2 [(google.api.field_behavior) = REQUIRED];
3380}
3381
3382// Request message for UpdateChannelGroup RPC.
3383message UpdateChannelGroupRequest {
3384  // Required. The ChannelGroup to update.
3385  // The resource's `name` field is used to identify the ChannelGroup to be
3386  // updated.
3387  ChannelGroup channel_group = 1 [(google.api.field_behavior) = REQUIRED];
3388
3389  // Required. The list of fields to be updated. Field names must be in snake
3390  // case (e.g., "field_to_update"). Omitted fields will not be updated. To
3391  // replace the entire entity, use one path with the string "*" to match all
3392  // fields.
3393  google.protobuf.FieldMask update_mask = 2
3394      [(google.api.field_behavior) = REQUIRED];
3395}
3396
3397// Request message for DeleteChannelGroup RPC.
3398message DeleteChannelGroupRequest {
3399  // Required. The ChannelGroup to delete.
3400  // Example format: properties/1234/channelGroups/5678
3401  string name = 1 [
3402    (google.api.field_behavior) = REQUIRED,
3403    (google.api.resource_reference) = {
3404      type: "analyticsadmin.googleapis.com/ChannelGroup"
3405    }
3406  ];
3407}
3408
3409// Request message for GetChannelGroup RPC.
3410message GetChannelGroupRequest {
3411  // Required. The ChannelGroup to get.
3412  // Example format: properties/1234/channelGroups/5678
3413  string name = 1 [
3414    (google.api.field_behavior) = REQUIRED,
3415    (google.api.resource_reference) = {
3416      type: "analyticsadmin.googleapis.com/ChannelGroup"
3417    }
3418  ];
3419}
3420
3421// Request message for ListChannelGroups RPC.
3422message ListChannelGroupsRequest {
3423  // Required. The property for which to list ChannelGroups.
3424  // Example format: properties/1234
3425  string parent = 1 [
3426    (google.api.field_behavior) = REQUIRED,
3427    (google.api.resource_reference) = {
3428      child_type: "analyticsadmin.googleapis.com/ChannelGroup"
3429    }
3430  ];
3431
3432  // The maximum number of resources to return.
3433  // If unspecified, at most 50 resources will be returned.
3434  // The maximum value is 200 (higher values will be coerced to the maximum).
3435  int32 page_size = 2;
3436
3437  // A page token, received from a previous `ListChannelGroups` call. Provide
3438  // this to retrieve the subsequent page.
3439  //
3440  // When paginating, all other parameters provided to `ListChannelGroups`
3441  // must match the call that provided the page token.
3442  string page_token = 3;
3443}
3444
3445// Response message for ListChannelGroups RPC.
3446message ListChannelGroupsResponse {
3447  // List of ChannelGroup. These will be ordered stably, but in an arbitrary
3448  // order.
3449  repeated ChannelGroup channel_groups = 1;
3450
3451  // A token, which can be sent as `page_token` to retrieve the next page.
3452  // If this field is omitted, there are no subsequent pages.
3453  string next_page_token = 2;
3454}
3455
3456// Request for setting the opt out status for the automated GA4 setup process.
3457message SetAutomatedGa4ConfigurationOptOutRequest {
3458  // Required. The UA property to set the opt out status. Note this request uses
3459  // the internal property ID, not the tracking ID of the form UA-XXXXXX-YY.
3460  // Format: properties/{internalWebPropertyId}
3461  // Example: properties/1234
3462  string property = 1 [(google.api.field_behavior) = REQUIRED];
3463
3464  // The status to set.
3465  bool opt_out = 2;
3466}
3467
3468// Response message for setting the opt out status for the automated GA4 setup
3469// process.
3470message SetAutomatedGa4ConfigurationOptOutResponse {}
3471
3472// Request for fetching the opt out status for the automated GA4 setup process.
3473message FetchAutomatedGa4ConfigurationOptOutRequest {
3474  // Required. The UA property to get the opt out status. Note this request uses
3475  // the internal property ID, not the tracking ID of the form UA-XXXXXX-YY.
3476  // Format: properties/{internalWebPropertyId}
3477  // Example: properties/1234
3478  string property = 1 [(google.api.field_behavior) = REQUIRED];
3479}
3480
3481// Response message for fetching the opt out status for the automated GA4 setup
3482// process.
3483message FetchAutomatedGa4ConfigurationOptOutResponse {
3484  // The opt out status for the UA property.
3485  bool opt_out = 1;
3486}
3487
3488// Request message for GetBigQueryLink RPC.
3489message GetBigQueryLinkRequest {
3490  // Required. The name of the BigQuery link to lookup.
3491  // Format: properties/{property_id}/bigQueryLinks/{bigquery_link_id}
3492  // Example: properties/123/bigQueryLinks/456
3493  string name = 1 [
3494    (google.api.field_behavior) = REQUIRED,
3495    (google.api.resource_reference) = {
3496      type: "analyticsadmin.googleapis.com/BigQueryLink"
3497    }
3498  ];
3499}
3500
3501// Request message for ListBigQueryLinks RPC.
3502message ListBigQueryLinksRequest {
3503  // Required. The name of the property to list BigQuery links under.
3504  // Format: properties/{property_id}
3505  // Example: properties/1234
3506  string parent = 1 [
3507    (google.api.field_behavior) = REQUIRED,
3508    (google.api.resource_reference) = {
3509      child_type: "analyticsadmin.googleapis.com/BigQueryLink"
3510    }
3511  ];
3512
3513  // The maximum number of resources to return. The service may return
3514  // fewer than this value, even if there are additional pages.
3515  // If unspecified, at most 50 resources will be returned.
3516  // The maximum value is 200; (higher values will be coerced to the maximum)
3517  int32 page_size = 2;
3518
3519  // A page token, received from a previous `ListBigQueryLinks` call.
3520  // Provide this to retrieve the subsequent page.
3521  // When paginating, all other parameters provided to `ListBigQueryLinks` must
3522  // match the call that provided the page token.
3523  string page_token = 3;
3524}
3525
3526// Response message for ListBigQueryLinks RPC
3527message ListBigQueryLinksResponse {
3528  // List of BigQueryLinks.
3529  repeated BigQueryLink bigquery_links = 1;
3530
3531  // A token, which can be sent as `page_token` to retrieve the next page.
3532  // If this field is omitted, there are no subsequent pages.
3533  string next_page_token = 2;
3534}
3535
3536// Request message for GetEnhancedMeasurementSettings RPC.
3537message GetEnhancedMeasurementSettingsRequest {
3538  // Required. The name of the settings to lookup.
3539  // Format:
3540  // properties/{property}/dataStreams/{data_stream}/enhancedMeasurementSettings
3541  // Example: "properties/1000/dataStreams/2000/enhancedMeasurementSettings"
3542  string name = 1 [
3543    (google.api.field_behavior) = REQUIRED,
3544    (google.api.resource_reference) = {
3545      type: "analyticsadmin.googleapis.com/EnhancedMeasurementSettings"
3546    }
3547  ];
3548}
3549
3550// Request message for UpdateEnhancedMeasurementSettings RPC.
3551message UpdateEnhancedMeasurementSettingsRequest {
3552  // Required. The settings to update.
3553  // The `name` field is used to identify the settings to be updated.
3554  EnhancedMeasurementSettings enhanced_measurement_settings = 1
3555      [(google.api.field_behavior) = REQUIRED];
3556
3557  // Required. The list of fields to be updated. Field names must be in snake
3558  // case (e.g., "field_to_update"). Omitted fields will not be updated. To
3559  // replace the entire entity, use one path with the string "*" to match all
3560  // fields.
3561  google.protobuf.FieldMask update_mask = 2
3562      [(google.api.field_behavior) = REQUIRED];
3563}
3564
3565// Request message for GetDataRedactionSettings RPC.
3566message GetDataRedactionSettingsRequest {
3567  // Required. The name of the settings to lookup.
3568  // Format:
3569  // properties/{property}/dataStreams/{data_stream}/dataRedactionSettings
3570  // Example: "properties/1000/dataStreams/2000/dataRedactionSettings"
3571  string name = 1 [
3572    (google.api.field_behavior) = REQUIRED,
3573    (google.api.resource_reference) = {
3574      type: "analyticsadmin.googleapis.com/DataRedactionSettings"
3575    }
3576  ];
3577}
3578
3579// Request message for UpdateDataRedactionSettings RPC.
3580message UpdateDataRedactionSettingsRequest {
3581  // Required. The settings to update.
3582  // The `name` field is used to identify the settings to be updated.
3583  DataRedactionSettings data_redaction_settings = 1
3584      [(google.api.field_behavior) = REQUIRED];
3585
3586  // Required. The list of fields to be updated. Field names must be in snake
3587  // case (e.g., "field_to_update"). Omitted fields will not be updated. To
3588  // replace the entire entity, use one path with the string "*" to match all
3589  // fields.
3590  google.protobuf.FieldMask update_mask = 2
3591      [(google.api.field_behavior) = REQUIRED];
3592}
3593
3594// Request message for CreateConnectedSiteTag RPC.
3595message CreateConnectedSiteTagRequest {
3596  // The Universal Analytics property to create connected site tags for.
3597  // This API does not support GA4 properties.
3598  // Format: properties/{universalAnalyticsPropertyId}
3599  // Example: properties/1234
3600  string property = 1;
3601
3602  // Required. The tag to add to the Universal Analytics property
3603  ConnectedSiteTag connected_site_tag = 2
3604      [(google.api.field_behavior) = REQUIRED];
3605}
3606
3607// Response message for CreateConnectedSiteTag RPC.
3608message CreateConnectedSiteTagResponse {}
3609
3610// Request message for DeleteConnectedSiteTag RPC.
3611message DeleteConnectedSiteTagRequest {
3612  // The Universal Analytics property to delete connected site tags for.
3613  // This API does not support GA4 properties.
3614  // Format: properties/{universalAnalyticsPropertyId}
3615  // Example: properties/1234
3616  string property = 1;
3617
3618  // Tag ID to forward events to. Also known as the Measurement ID, or the
3619  // "G-ID"  (For example: G-12345).
3620  string tag_id = 2;
3621}
3622
3623// Request message for ListConnectedSiteTags RPC.
3624message ListConnectedSiteTagsRequest {
3625  // The Universal Analytics property to fetch connected site tags for.
3626  // This does not work on GA4 properties. A maximum of 20 connected site tags
3627  // will be returned.
3628  // Example Format: `properties/1234`
3629  string property = 1;
3630}
3631
3632// Response message for ListConnectedSiteTags RPC.
3633message ListConnectedSiteTagsResponse {
3634  // The site tags for the Universal Analytics property. A maximum of 20
3635  // connected site tags will be returned.
3636  repeated ConnectedSiteTag connected_site_tags = 1;
3637}
3638
3639// Request message to be passed to CreateAdSenseLink method.
3640message CreateAdSenseLinkRequest {
3641  // Required. The property for which to create an AdSense Link.
3642  // Format: properties/{propertyId}
3643  // Example: properties/1234
3644  string parent = 1 [
3645    (google.api.field_behavior) = REQUIRED,
3646    (google.api.resource_reference) = {
3647      child_type: "analyticsadmin.googleapis.com/AdSenseLink"
3648    }
3649  ];
3650
3651  // Required. The AdSense Link to create
3652  AdSenseLink adsense_link = 2 [(google.api.field_behavior) = REQUIRED];
3653}
3654
3655// Request message to be passed to GetAdSenseLink method.
3656message GetAdSenseLinkRequest {
3657  // Required. Unique identifier for the AdSense Link requested.
3658  // Format: properties/{propertyId}/adSenseLinks/{linkId}
3659  // Example: properties/1234/adSenseLinks/5678
3660  string name = 1 [
3661    (google.api.field_behavior) = REQUIRED,
3662    (google.api.resource_reference) = {
3663      type: "analyticsadmin.googleapis.com/AdSenseLink"
3664    }
3665  ];
3666}
3667
3668// Request message to be passed to DeleteAdSenseLink method.
3669message DeleteAdSenseLinkRequest {
3670  // Required. Unique identifier for the AdSense Link to be deleted.
3671  // Format: properties/{propertyId}/adSenseLinks/{linkId}
3672  // Example: properties/1234/adSenseLinks/5678
3673  string name = 1 [
3674    (google.api.field_behavior) = REQUIRED,
3675    (google.api.resource_reference) = {
3676      type: "analyticsadmin.googleapis.com/AdSenseLink"
3677    }
3678  ];
3679}
3680
3681// Request message to be passed to ListAdSenseLinks method.
3682message ListAdSenseLinksRequest {
3683  // Required. Resource name of the parent property.
3684  // Format: properties/{propertyId}
3685  // Example: properties/1234
3686  string parent = 1 [
3687    (google.api.field_behavior) = REQUIRED,
3688    (google.api.resource_reference) = {
3689      child_type: "analyticsadmin.googleapis.com/AdSenseLink"
3690    }
3691  ];
3692
3693  // The maximum number of resources to return.
3694  // If unspecified, at most 50 resources will be returned.
3695  // The maximum value is 200 (higher values will be coerced to the maximum).
3696  int32 page_size = 2;
3697
3698  // A page token received from a previous `ListAdSenseLinks` call.
3699  // Provide this to retrieve the subsequent page.
3700  //
3701  // When paginating, all other parameters provided to `ListAdSenseLinks` must
3702  // match the call that provided the page token.
3703  string page_token = 3;
3704}
3705
3706// Response message for ListAdSenseLinks method.
3707message ListAdSenseLinksResponse {
3708  // List of AdSenseLinks.
3709  repeated AdSenseLink adsense_links = 1;
3710
3711  // A token, which can be sent as `page_token` to retrieve the next page.
3712  // If this field is omitted, there are no subsequent pages.
3713  string next_page_token = 2;
3714}
3715
3716// Request for looking up GA4 property connected to a UA property.
3717message FetchConnectedGa4PropertyRequest {
3718  // Required. The UA property for which to look up the connected GA4 property.
3719  // Note this request uses the
3720  // internal property ID, not the tracking ID of the form UA-XXXXXX-YY.
3721  // Format: properties/{internal_web_property_id}
3722  // Example: properties/1234
3723  string property = 1 [
3724    (google.api.field_behavior) = REQUIRED,
3725    (google.api.resource_reference) = {
3726      type: "analyticsadmin.googleapis.com/Property"
3727    }
3728  ];
3729}
3730
3731// Response for looking up GA4 property connected to a UA property.
3732message FetchConnectedGa4PropertyResponse {
3733  // The GA4 property connected to the UA property. An empty string is returned
3734  // when there is no connected GA4 property.
3735  // Format: properties/{property_id}
3736  // Example: properties/1234
3737  string property = 1 [(google.api.resource_reference) = {
3738    type: "analyticsadmin.googleapis.com/Property"
3739  }];
3740}
3741
3742// Request message for CreateEventCreateRule RPC.
3743message CreateEventCreateRuleRequest {
3744  // Required. Example format: properties/123/dataStreams/456
3745  string parent = 1 [
3746    (google.api.field_behavior) = REQUIRED,
3747    (google.api.resource_reference) = {
3748      child_type: "analyticsadmin.googleapis.com/EventCreateRule"
3749    }
3750  ];
3751
3752  // Required. The EventCreateRule to create.
3753  EventCreateRule event_create_rule = 2
3754      [(google.api.field_behavior) = REQUIRED];
3755}
3756
3757// Request message for UpdateEventCreateRule RPC.
3758message UpdateEventCreateRuleRequest {
3759  // Required. The EventCreateRule to update.
3760  // The resource's `name` field is used to identify the EventCreateRule to be
3761  // updated.
3762  EventCreateRule event_create_rule = 1
3763      [(google.api.field_behavior) = REQUIRED];
3764
3765  // Required. The list of fields to be updated. Field names must be in snake
3766  // case (e.g., "field_to_update"). Omitted fields will not be updated. To
3767  // replace the entire entity, use one path with the string "*" to match all
3768  // fields.
3769  google.protobuf.FieldMask update_mask = 2
3770      [(google.api.field_behavior) = REQUIRED];
3771}
3772
3773// Request message for DeleteEventCreateRule RPC.
3774message DeleteEventCreateRuleRequest {
3775  // Required. Example format:
3776  // properties/123/dataStreams/456/eventCreateRules/789
3777  string name = 1 [
3778    (google.api.field_behavior) = REQUIRED,
3779    (google.api.resource_reference) = {
3780      type: "analyticsadmin.googleapis.com/EventCreateRule"
3781    }
3782  ];
3783}
3784
3785// Request message for GetEventCreateRule RPC.
3786message GetEventCreateRuleRequest {
3787  // Required. The name of the EventCreateRule to get.
3788  // Example format: properties/123/dataStreams/456/eventCreateRules/789
3789  string name = 1 [
3790    (google.api.field_behavior) = REQUIRED,
3791    (google.api.resource_reference) = {
3792      type: "analyticsadmin.googleapis.com/EventCreateRule"
3793    }
3794  ];
3795}
3796
3797// Request message for ListEventCreateRules RPC.
3798message ListEventCreateRulesRequest {
3799  // Required. Example format: properties/123/dataStreams/456
3800  string parent = 1 [
3801    (google.api.field_behavior) = REQUIRED,
3802    (google.api.resource_reference) = {
3803      child_type: "analyticsadmin.googleapis.com/EventCreateRule"
3804    }
3805  ];
3806
3807  // The maximum number of resources to return.
3808  // If unspecified, at most 50 resources will be returned.
3809  // The maximum value is 200 (higher values will be coerced to the maximum).
3810  int32 page_size = 2;
3811
3812  // A page token, received from a previous `ListEventCreateRules` call. Provide
3813  // this to retrieve the subsequent page.
3814  //
3815  // When paginating, all other parameters provided to `ListEventCreateRules`
3816  // must match the call that provided the page token.
3817  string page_token = 3;
3818}
3819
3820// Response message for ListEventCreateRules RPC.
3821message ListEventCreateRulesResponse {
3822  // List of EventCreateRules. These will be ordered stably, but in an arbitrary
3823  // order.
3824  repeated EventCreateRule event_create_rules = 1;
3825
3826  // A token, which can be sent as `page_token` to retrieve the next page.
3827  // If this field is omitted, there are no subsequent pages.
3828  string next_page_token = 2;
3829}
3830
3831// Request message for CreateRollupProperty RPC.
3832message CreateRollupPropertyRequest {
3833  // Required. The roll-up property to create.
3834  Property rollup_property = 1 [(google.api.field_behavior) = REQUIRED];
3835
3836  // Optional. The resource names of properties that will be sources to the
3837  // created roll-up property.
3838  repeated string source_properties = 2
3839      [(google.api.field_behavior) = OPTIONAL];
3840}
3841
3842// Response message for CreateRollupProperty RPC.
3843message CreateRollupPropertyResponse {
3844  // The created roll-up property.
3845  Property rollup_property = 1;
3846
3847  // The created roll-up property source links.
3848  repeated RollupPropertySourceLink rollup_property_source_links = 2;
3849}
3850
3851// Request message for GetRollupPropertySourceLink RPC.
3852message GetRollupPropertySourceLinkRequest {
3853  // Required. The name of the roll-up property source link to lookup.
3854  // Format:
3855  // properties/{property_id}/rollupPropertySourceLinks/{rollup_property_source_link_id}
3856  // Example: properties/123/rollupPropertySourceLinks/456
3857  string name = 1 [
3858    (google.api.field_behavior) = REQUIRED,
3859    (google.api.resource_reference) = {
3860      type: "analyticsadmin.googleapis.com/RollupPropertySourceLink"
3861    }
3862  ];
3863}
3864
3865// Request message for ListRollupPropertySourceLinks RPC.
3866message ListRollupPropertySourceLinksRequest {
3867  // Required. The name of the roll-up property to list roll-up property source
3868  // links under. Format: properties/{property_id} Example: properties/1234
3869  string parent = 1 [
3870    (google.api.field_behavior) = REQUIRED,
3871    (google.api.resource_reference) = {
3872      child_type: "analyticsadmin.googleapis.com/RollupPropertySourceLink"
3873    }
3874  ];
3875
3876  // Optional. The maximum number of resources to return. The service may return
3877  // fewer than this value, even if there are additional pages.
3878  // If unspecified, at most 50 resources will be returned.
3879  // The maximum value is 200; (higher values will be coerced to the maximum)
3880  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
3881
3882  // Optional. A page token, received from a previous
3883  // `ListRollupPropertySourceLinks` call. Provide this to retrieve the
3884  // subsequent page. When paginating, all other parameters provided to
3885  // `ListRollupPropertySourceLinks` must match the call that provided the page
3886  // token.
3887  string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
3888}
3889
3890// Response message for ListRollupPropertySourceLinks RPC.
3891message ListRollupPropertySourceLinksResponse {
3892  // List of RollupPropertySourceLinks.
3893  repeated RollupPropertySourceLink rollup_property_source_links = 1;
3894
3895  // A token, which can be sent as `page_token` to retrieve the next page.
3896  // If this field is omitted, there are no subsequent pages.
3897  string next_page_token = 2;
3898}
3899
3900// Request message for CreateRollupPropertySourceLink RPC.
3901message CreateRollupPropertySourceLinkRequest {
3902  // Required. Format: properties/{property_id}
3903  // Example: properties/1234
3904  string parent = 1 [
3905    (google.api.field_behavior) = REQUIRED,
3906    (google.api.resource_reference) = {
3907      child_type: "analyticsadmin.googleapis.com/RollupPropertySourceLink"
3908    }
3909  ];
3910
3911  // Required. The roll-up property source link to create.
3912  RollupPropertySourceLink rollup_property_source_link = 2
3913      [(google.api.field_behavior) = REQUIRED];
3914}
3915
3916// Request message for DeleteRollupPropertySourceLink RPC.
3917message DeleteRollupPropertySourceLinkRequest {
3918  // Required. Format:
3919  // properties/{property_id}/rollupPropertySourceLinks/{rollup_property_source_link_id}
3920  // Example: properties/1234/rollupPropertySourceLinks/5678
3921  string name = 1 [
3922    (google.api.field_behavior) = REQUIRED,
3923    (google.api.resource_reference) = {
3924      type: "analyticsadmin.googleapis.com/RollupPropertySourceLink"
3925    }
3926  ];
3927}
3928
3929// Request message for CreateSubproperty RPC.
3930message CreateSubpropertyRequest {
3931  // Required. The ordinary property for which to create a subproperty.
3932  // Format: properties/property_id
3933  // Example: properties/123
3934  string parent = 1 [
3935    (google.api.field_behavior) = REQUIRED,
3936    (google.api.resource_reference) = {
3937      type: "analyticsadmin.googleapis.com/Property"
3938    }
3939  ];
3940
3941  // Required. The subproperty to create.
3942  Property subproperty = 2 [(google.api.field_behavior) = REQUIRED];
3943
3944  // Optional. The subproperty event filter to create on an ordinary property.
3945  SubpropertyEventFilter subproperty_event_filter = 3
3946      [(google.api.field_behavior) = OPTIONAL];
3947}
3948
3949// Response message for CreateSubproperty RPC.
3950message CreateSubpropertyResponse {
3951  // The created subproperty.
3952  Property subproperty = 1;
3953
3954  // The created subproperty event filter.
3955  SubpropertyEventFilter subproperty_event_filter = 2;
3956}
3957
3958// Request message for CreateSubpropertyEventFilter RPC.
3959message CreateSubpropertyEventFilterRequest {
3960  // Required. The ordinary property for which to create a subproperty event
3961  // filter. Format: properties/property_id Example: properties/123
3962  string parent = 1 [
3963    (google.api.field_behavior) = REQUIRED,
3964    (google.api.resource_reference) = {
3965      child_type: "analyticsadmin.googleapis.com/SubpropertyEventFilter"
3966    }
3967  ];
3968
3969  // Required. The subproperty event filter to create.
3970  SubpropertyEventFilter subproperty_event_filter = 2
3971      [(google.api.field_behavior) = REQUIRED];
3972}
3973
3974// Request message for GetSubpropertyEventFilter RPC.
3975message GetSubpropertyEventFilterRequest {
3976  // Required. Resource name of the subproperty event filter to lookup.
3977  // Format:
3978  // properties/property_id/subpropertyEventFilters/subproperty_event_filter
3979  // Example: properties/123/subpropertyEventFilters/456
3980  string name = 1 [
3981    (google.api.field_behavior) = REQUIRED,
3982    (google.api.resource_reference) = {
3983      type: "analyticsadmin.googleapis.com/SubpropertyEventFilter"
3984    }
3985  ];
3986}
3987
3988// Request message for ListSubpropertyEventFilters RPC.
3989message ListSubpropertyEventFiltersRequest {
3990  // Required. Resource name of the ordinary property.
3991  // Format: properties/property_id
3992  // Example: properties/123
3993  string parent = 1 [
3994    (google.api.field_behavior) = REQUIRED,
3995    (google.api.resource_reference) = {
3996      child_type: "analyticsadmin.googleapis.com/SubpropertyEventFilter"
3997    }
3998  ];
3999
4000  // Optional. The maximum number of resources to return. The service may return
4001  // fewer than this value, even if there are additional pages. If unspecified,
4002  // at most 50 resources will be returned. The maximum value is 200; (higher
4003  // values will be coerced to the maximum)
4004  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
4005
4006  // Optional. A page token, received from a previous
4007  // `ListSubpropertyEventFilters` call. Provide this to retrieve the subsequent
4008  // page. When paginating, all other parameters provided to
4009  // `ListSubpropertyEventFilters` must match the call that provided the page
4010  // token.
4011  string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
4012}
4013
4014// Response message for ListSubpropertyEventFilter RPC.
4015message ListSubpropertyEventFiltersResponse {
4016  // List of subproperty event filters.
4017  repeated SubpropertyEventFilter subproperty_event_filters = 1;
4018
4019  // A token, which can be sent as `page_token` to retrieve the next page. If
4020  // this field is omitted, there are no subsequent pages.
4021  string next_page_token = 2;
4022}
4023
4024// Request message for UpdateSubpropertyEventFilter RPC.
4025message UpdateSubpropertyEventFilterRequest {
4026  // Required. The subproperty event filter to update.
4027  SubpropertyEventFilter subproperty_event_filter = 1
4028      [(google.api.field_behavior) = REQUIRED];
4029
4030  // Required. The list of fields to update. Field names must be in snake case
4031  // (for example, "field_to_update"). Omitted fields will not be updated. To
4032  // replace the entire entity, use one path with the string "*" to match all
4033  // fields.
4034  google.protobuf.FieldMask update_mask = 2
4035      [(google.api.field_behavior) = REQUIRED];
4036}
4037
4038// Request message for DeleteSubpropertyEventFilter RPC.
4039message DeleteSubpropertyEventFilterRequest {
4040  // Required. Resource name of the subproperty event filter to delete.
4041  // Format:
4042  // properties/property_id/subpropertyEventFilters/subproperty_event_filter
4043  // Example: properties/123/subpropertyEventFilters/456
4044  string name = 1 [
4045    (google.api.field_behavior) = REQUIRED,
4046    (google.api.resource_reference) = {
4047      type: "analyticsadmin.googleapis.com/SubpropertyEventFilter"
4048    }
4049  ];
4050}
4051