// Copyright 2022 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package google.analytics.admin.v1alpha; import "google/analytics/admin/v1alpha/access_report.proto"; import "google/analytics/admin/v1alpha/audience.proto"; import "google/analytics/admin/v1alpha/resources.proto"; import "google/api/annotations.proto"; import "google/api/client.proto"; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/empty.proto"; import "google/protobuf/field_mask.proto"; import "google/protobuf/timestamp.proto"; option go_package = "google.golang.org/genproto/googleapis/analytics/admin/v1alpha;admin"; option java_multiple_files = true; option java_outer_classname = "AnalyticsAdminProto"; option java_package = "com.google.analytics.admin.v1alpha"; // Service Interface for the Analytics Admin API (GA4). service AnalyticsAdminService { option (google.api.default_host) = "analyticsadmin.googleapis.com"; option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/analytics.edit," "https://www.googleapis.com/auth/analytics.manage.users," "https://www.googleapis.com/auth/analytics.manage.users.readonly," "https://www.googleapis.com/auth/analytics.readonly"; // Lookup for a single Account. rpc GetAccount(GetAccountRequest) returns (Account) { option (google.api.http) = { get: "/v1alpha/{name=accounts/*}" }; option (google.api.method_signature) = "name"; } // Returns all accounts accessible by the caller. // // Note that these accounts might not currently have GA4 properties. // Soft-deleted (ie: "trashed") accounts are excluded by default. // Returns an empty list if no relevant accounts are found. rpc ListAccounts(ListAccountsRequest) returns (ListAccountsResponse) { option (google.api.http) = { get: "/v1alpha/accounts" }; } // Marks target Account as soft-deleted (ie: "trashed") and returns it. // // This API does not have a method to restore soft-deleted accounts. // However, they can be restored using the Trash Can UI. // // If the accounts are not restored before the expiration time, the account // and all child resources (eg: Properties, GoogleAdsLinks, Streams, // UserLinks) will be permanently purged. // https://support.google.com/analytics/answer/6154772 // // Returns an error if the target is not found. rpc DeleteAccount(DeleteAccountRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1alpha/{name=accounts/*}" }; option (google.api.method_signature) = "name"; } // Updates an account. rpc UpdateAccount(UpdateAccountRequest) returns (Account) { option (google.api.http) = { patch: "/v1alpha/{account.name=accounts/*}" body: "account" }; option (google.api.method_signature) = "account,update_mask"; } // Requests a ticket for creating an account. rpc ProvisionAccountTicket(ProvisionAccountTicketRequest) returns (ProvisionAccountTicketResponse) { option (google.api.http) = { post: "/v1alpha/accounts:provisionAccountTicket" body: "*" }; } // Returns summaries of all accounts accessible by the caller. rpc ListAccountSummaries(ListAccountSummariesRequest) returns (ListAccountSummariesResponse) { option (google.api.http) = { get: "/v1alpha/accountSummaries" }; } // Lookup for a single "GA4" Property. rpc GetProperty(GetPropertyRequest) returns (Property) { option (google.api.http) = { get: "/v1alpha/{name=properties/*}" }; option (google.api.method_signature) = "name"; } // Returns child Properties under the specified parent Account. // // Only "GA4" properties will be returned. // Properties will be excluded if the caller does not have access. // Soft-deleted (ie: "trashed") properties are excluded by default. // Returns an empty list if no relevant properties are found. rpc ListProperties(ListPropertiesRequest) returns (ListPropertiesResponse) { option (google.api.http) = { get: "/v1alpha/properties" }; } // Creates an "GA4" property with the specified location and attributes. rpc CreateProperty(CreatePropertyRequest) returns (Property) { option (google.api.http) = { post: "/v1alpha/properties" body: "property" }; option (google.api.method_signature) = "property"; } // Marks target Property as soft-deleted (ie: "trashed") and returns it. // // This API does not have a method to restore soft-deleted properties. // However, they can be restored using the Trash Can UI. // // If the properties are not restored before the expiration time, the Property // and all child resources (eg: GoogleAdsLinks, Streams, UserLinks) // will be permanently purged. // https://support.google.com/analytics/answer/6154772 // // Returns an error if the target is not found, or is not an GA4 Property. rpc DeleteProperty(DeletePropertyRequest) returns (Property) { option (google.api.http) = { delete: "/v1alpha/{name=properties/*}" }; option (google.api.method_signature) = "name"; } // Updates a property. rpc UpdateProperty(UpdatePropertyRequest) returns (Property) { option (google.api.http) = { patch: "/v1alpha/{property.name=properties/*}" body: "property" }; option (google.api.method_signature) = "property,update_mask"; } // Gets information about a user's link to an account or property. rpc GetUserLink(GetUserLinkRequest) returns (UserLink) { option (google.api.http) = { get: "/v1alpha/{name=accounts/*/userLinks/*}" additional_bindings { get: "/v1alpha/{name=properties/*/userLinks/*}" } }; option (google.api.method_signature) = "name"; } // Gets information about multiple users' links to an account or property. rpc BatchGetUserLinks(BatchGetUserLinksRequest) returns (BatchGetUserLinksResponse) { option (google.api.http) = { get: "/v1alpha/{parent=accounts/*}/userLinks:batchGet" additional_bindings { get: "/v1alpha/{parent=properties/*}/userLinks:batchGet" } }; } // Lists all user links on an account or property. rpc ListUserLinks(ListUserLinksRequest) returns (ListUserLinksResponse) { option (google.api.http) = { get: "/v1alpha/{parent=accounts/*}/userLinks" additional_bindings { get: "/v1alpha/{parent=properties/*}/userLinks" } }; option (google.api.method_signature) = "parent"; } // Lists all user links on an account or property, including implicit ones // that come from effective permissions granted by groups or organization // admin roles. // // If a returned user link does not have direct permissions, they cannot // be removed from the account or property directly with the DeleteUserLink // command. They have to be removed from the group/etc that gives them // permissions, which is currently only usable/discoverable in the GA or GMP // UIs. rpc AuditUserLinks(AuditUserLinksRequest) returns (AuditUserLinksResponse) { option (google.api.http) = { post: "/v1alpha/{parent=accounts/*}/userLinks:audit" body: "*" additional_bindings { post: "/v1alpha/{parent=properties/*}/userLinks:audit" body: "*" } }; } // Creates a user link on an account or property. // // If the user with the specified email already has permissions on the // account or property, then the user's existing permissions will be unioned // with the permissions specified in the new UserLink. rpc CreateUserLink(CreateUserLinkRequest) returns (UserLink) { option (google.api.http) = { post: "/v1alpha/{parent=accounts/*}/userLinks" body: "user_link" additional_bindings { post: "/v1alpha/{parent=properties/*}/userLinks" body: "user_link" } }; option (google.api.method_signature) = "parent,user_link"; } // Creates information about multiple users' links to an account or property. // // This method is transactional. If any UserLink cannot be created, none of // the UserLinks will be created. rpc BatchCreateUserLinks(BatchCreateUserLinksRequest) returns (BatchCreateUserLinksResponse) { option (google.api.http) = { post: "/v1alpha/{parent=accounts/*}/userLinks:batchCreate" body: "*" additional_bindings { post: "/v1alpha/{parent=properties/*}/userLinks:batchCreate" body: "*" } }; } // Updates a user link on an account or property. rpc UpdateUserLink(UpdateUserLinkRequest) returns (UserLink) { option (google.api.http) = { patch: "/v1alpha/{user_link.name=accounts/*/userLinks/*}" body: "user_link" additional_bindings { patch: "/v1alpha/{user_link.name=properties/*/userLinks/*}" body: "user_link" } }; option (google.api.method_signature) = "user_link"; } // Updates information about multiple users' links to an account or property. rpc BatchUpdateUserLinks(BatchUpdateUserLinksRequest) returns (BatchUpdateUserLinksResponse) { option (google.api.http) = { post: "/v1alpha/{parent=accounts/*}/userLinks:batchUpdate" body: "*" additional_bindings { post: "/v1alpha/{parent=properties/*}/userLinks:batchUpdate" body: "*" } }; } // Deletes a user link on an account or property. rpc DeleteUserLink(DeleteUserLinkRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1alpha/{name=accounts/*/userLinks/*}" additional_bindings { delete: "/v1alpha/{name=properties/*/userLinks/*}" } }; option (google.api.method_signature) = "name"; } // Deletes information about multiple users' links to an account or property. rpc BatchDeleteUserLinks(BatchDeleteUserLinksRequest) returns (google.protobuf.Empty) { option (google.api.http) = { post: "/v1alpha/{parent=accounts/*}/userLinks:batchDelete" body: "*" additional_bindings { post: "/v1alpha/{parent=properties/*}/userLinks:batchDelete" body: "*" } }; } // Creates a FirebaseLink. // // Properties can have at most one FirebaseLink. rpc CreateFirebaseLink(CreateFirebaseLinkRequest) returns (FirebaseLink) { option (google.api.http) = { post: "/v1alpha/{parent=properties/*}/firebaseLinks" body: "firebase_link" }; option (google.api.method_signature) = "parent,firebase_link"; } // Deletes a FirebaseLink on a property rpc DeleteFirebaseLink(DeleteFirebaseLinkRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1alpha/{name=properties/*/firebaseLinks/*}" }; option (google.api.method_signature) = "name"; } // Lists FirebaseLinks on a property. // Properties can have at most one FirebaseLink. rpc ListFirebaseLinks(ListFirebaseLinksRequest) returns (ListFirebaseLinksResponse) { option (google.api.http) = { get: "/v1alpha/{parent=properties/*}/firebaseLinks" }; option (google.api.method_signature) = "parent"; } // Returns the Site Tag for the specified web stream. // Site Tags are immutable singletons. rpc GetGlobalSiteTag(GetGlobalSiteTagRequest) returns (GlobalSiteTag) { option (google.api.http) = { get: "/v1alpha/{name=properties/*/dataStreams/*/globalSiteTag}" }; option (google.api.method_signature) = "name"; } // Creates a GoogleAdsLink. rpc CreateGoogleAdsLink(CreateGoogleAdsLinkRequest) returns (GoogleAdsLink) { option (google.api.http) = { post: "/v1alpha/{parent=properties/*}/googleAdsLinks" body: "google_ads_link" }; option (google.api.method_signature) = "parent,google_ads_link"; } // Updates a GoogleAdsLink on a property rpc UpdateGoogleAdsLink(UpdateGoogleAdsLinkRequest) returns (GoogleAdsLink) { option (google.api.http) = { patch: "/v1alpha/{google_ads_link.name=properties/*/googleAdsLinks/*}" body: "google_ads_link" }; option (google.api.method_signature) = "google_ads_link,update_mask"; } // Deletes a GoogleAdsLink on a property rpc DeleteGoogleAdsLink(DeleteGoogleAdsLinkRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1alpha/{name=properties/*/googleAdsLinks/*}" }; option (google.api.method_signature) = "name"; } // Lists GoogleAdsLinks on a property. rpc ListGoogleAdsLinks(ListGoogleAdsLinksRequest) returns (ListGoogleAdsLinksResponse) { option (google.api.http) = { get: "/v1alpha/{parent=properties/*}/googleAdsLinks" }; option (google.api.method_signature) = "parent"; } // Get data sharing settings on an account. // Data sharing settings are singletons. rpc GetDataSharingSettings(GetDataSharingSettingsRequest) returns (DataSharingSettings) { option (google.api.http) = { get: "/v1alpha/{name=accounts/*/dataSharingSettings}" }; option (google.api.method_signature) = "name"; } // Lookup for a single "GA4" MeasurementProtocolSecret. rpc GetMeasurementProtocolSecret(GetMeasurementProtocolSecretRequest) returns (MeasurementProtocolSecret) { option (google.api.http) = { get: "/v1alpha/{name=properties/*/dataStreams/*/measurementProtocolSecrets/*}" }; option (google.api.method_signature) = "name"; } // Returns child MeasurementProtocolSecrets under the specified parent // Property. rpc ListMeasurementProtocolSecrets(ListMeasurementProtocolSecretsRequest) returns (ListMeasurementProtocolSecretsResponse) { option (google.api.http) = { get: "/v1alpha/{parent=properties/*/dataStreams/*}/measurementProtocolSecrets" }; option (google.api.method_signature) = "parent"; } // Creates a measurement protocol secret. rpc CreateMeasurementProtocolSecret(CreateMeasurementProtocolSecretRequest) returns (MeasurementProtocolSecret) { option (google.api.http) = { post: "/v1alpha/{parent=properties/*/dataStreams/*}/measurementProtocolSecrets" body: "measurement_protocol_secret" }; option (google.api.method_signature) = "parent,measurement_protocol_secret"; } // Deletes target MeasurementProtocolSecret. rpc DeleteMeasurementProtocolSecret(DeleteMeasurementProtocolSecretRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1alpha/{name=properties/*/dataStreams/*/measurementProtocolSecrets/*}" }; option (google.api.method_signature) = "name"; } // Updates a measurement protocol secret. rpc UpdateMeasurementProtocolSecret(UpdateMeasurementProtocolSecretRequest) returns (MeasurementProtocolSecret) { option (google.api.http) = { patch: "/v1alpha/{measurement_protocol_secret.name=properties/*/dataStreams/*/measurementProtocolSecrets/*}" body: "measurement_protocol_secret" }; option (google.api.method_signature) = "measurement_protocol_secret,update_mask"; } // Acknowledges the terms of user data collection for the specified property. // // This acknowledgement must be completed (either in the Google Analytics UI // or via this API) before MeasurementProtocolSecret resources may be created. rpc AcknowledgeUserDataCollection(AcknowledgeUserDataCollectionRequest) returns (AcknowledgeUserDataCollectionResponse) { option (google.api.http) = { post: "/v1alpha/{property=properties/*}:acknowledgeUserDataCollection" body: "*" }; } // Searches through all changes to an account or its children given the // specified set of filters. rpc SearchChangeHistoryEvents(SearchChangeHistoryEventsRequest) returns (SearchChangeHistoryEventsResponse) { option (google.api.http) = { post: "/v1alpha/{account=accounts/*}:searchChangeHistoryEvents" body: "*" }; } // Lookup for Google Signals settings for a property. rpc GetGoogleSignalsSettings(GetGoogleSignalsSettingsRequest) returns (GoogleSignalsSettings) { option (google.api.http) = { get: "/v1alpha/{name=properties/*/googleSignalsSettings}" }; option (google.api.method_signature) = "name"; } // Updates Google Signals settings for a property. rpc UpdateGoogleSignalsSettings(UpdateGoogleSignalsSettingsRequest) returns (GoogleSignalsSettings) { option (google.api.http) = { patch: "/v1alpha/{google_signals_settings.name=properties/*/googleSignalsSettings}" body: "google_signals_settings" }; option (google.api.method_signature) = "google_signals_settings,update_mask"; } // Creates a conversion event with the specified attributes. rpc CreateConversionEvent(CreateConversionEventRequest) returns (ConversionEvent) { option (google.api.http) = { post: "/v1alpha/{parent=properties/*}/conversionEvents" body: "conversion_event" }; option (google.api.method_signature) = "parent,conversion_event"; } // Retrieve a single conversion event. rpc GetConversionEvent(GetConversionEventRequest) returns (ConversionEvent) { option (google.api.http) = { get: "/v1alpha/{name=properties/*/conversionEvents/*}" }; option (google.api.method_signature) = "name"; } // Deletes a conversion event in a property. rpc DeleteConversionEvent(DeleteConversionEventRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1alpha/{name=properties/*/conversionEvents/*}" }; option (google.api.method_signature) = "name"; } // Returns a list of conversion events in the specified parent property. // // Returns an empty list if no conversion events are found. rpc ListConversionEvents(ListConversionEventsRequest) returns (ListConversionEventsResponse) { option (google.api.http) = { get: "/v1alpha/{parent=properties/*}/conversionEvents" }; option (google.api.method_signature) = "parent"; } // Look up a single DisplayVideo360AdvertiserLink rpc GetDisplayVideo360AdvertiserLink(GetDisplayVideo360AdvertiserLinkRequest) returns (DisplayVideo360AdvertiserLink) { option (google.api.http) = { get: "/v1alpha/{name=properties/*/displayVideo360AdvertiserLinks/*}" }; option (google.api.method_signature) = "name"; } // Lists all DisplayVideo360AdvertiserLinks on a property. rpc ListDisplayVideo360AdvertiserLinks(ListDisplayVideo360AdvertiserLinksRequest) returns (ListDisplayVideo360AdvertiserLinksResponse) { option (google.api.http) = { get: "/v1alpha/{parent=properties/*}/displayVideo360AdvertiserLinks" }; option (google.api.method_signature) = "parent"; } // Creates a DisplayVideo360AdvertiserLink. // This can only be utilized by users who have proper authorization both on // the Google Analytics property and on the Display & Video 360 advertiser. // Users who do not have access to the Display & Video 360 advertiser should // instead seek to create a DisplayVideo360LinkProposal. rpc CreateDisplayVideo360AdvertiserLink(CreateDisplayVideo360AdvertiserLinkRequest) returns (DisplayVideo360AdvertiserLink) { option (google.api.http) = { post: "/v1alpha/{parent=properties/*}/displayVideo360AdvertiserLinks" body: "display_video_360_advertiser_link" }; option (google.api.method_signature) = "parent,display_video_360_advertiser_link"; } // Deletes a DisplayVideo360AdvertiserLink on a property. rpc DeleteDisplayVideo360AdvertiserLink(DeleteDisplayVideo360AdvertiserLinkRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1alpha/{name=properties/*/displayVideo360AdvertiserLinks/*}" }; option (google.api.method_signature) = "name"; } // Updates a DisplayVideo360AdvertiserLink on a property. rpc UpdateDisplayVideo360AdvertiserLink(UpdateDisplayVideo360AdvertiserLinkRequest) returns (DisplayVideo360AdvertiserLink) { option (google.api.http) = { patch: "/v1alpha/{display_video_360_advertiser_link.name=properties/*/displayVideo360AdvertiserLinks/*}" body: "display_video_360_advertiser_link" }; option (google.api.method_signature) = "display_video_360_advertiser_link,update_mask"; } // Lookup for a single DisplayVideo360AdvertiserLinkProposal. rpc GetDisplayVideo360AdvertiserLinkProposal(GetDisplayVideo360AdvertiserLinkProposalRequest) returns (DisplayVideo360AdvertiserLinkProposal) { option (google.api.http) = { get: "/v1alpha/{name=properties/*/displayVideo360AdvertiserLinkProposals/*}" }; option (google.api.method_signature) = "name"; } // Lists DisplayVideo360AdvertiserLinkProposals on a property. rpc ListDisplayVideo360AdvertiserLinkProposals(ListDisplayVideo360AdvertiserLinkProposalsRequest) returns (ListDisplayVideo360AdvertiserLinkProposalsResponse) { option (google.api.http) = { get: "/v1alpha/{parent=properties/*}/displayVideo360AdvertiserLinkProposals" }; option (google.api.method_signature) = "parent"; } // Creates a DisplayVideo360AdvertiserLinkProposal. rpc CreateDisplayVideo360AdvertiserLinkProposal(CreateDisplayVideo360AdvertiserLinkProposalRequest) returns (DisplayVideo360AdvertiserLinkProposal) { option (google.api.http) = { post: "/v1alpha/{parent=properties/*}/displayVideo360AdvertiserLinkProposals" body: "display_video_360_advertiser_link_proposal" }; option (google.api.method_signature) = "parent,display_video_360_advertiser_link_proposal"; } // Deletes a DisplayVideo360AdvertiserLinkProposal on a property. // This can only be used on cancelled proposals. rpc DeleteDisplayVideo360AdvertiserLinkProposal(DeleteDisplayVideo360AdvertiserLinkProposalRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1alpha/{name=properties/*/displayVideo360AdvertiserLinkProposals/*}" }; option (google.api.method_signature) = "name"; } // Approves a DisplayVideo360AdvertiserLinkProposal. // The DisplayVideo360AdvertiserLinkProposal will be deleted and a new // DisplayVideo360AdvertiserLink will be created. rpc ApproveDisplayVideo360AdvertiserLinkProposal(ApproveDisplayVideo360AdvertiserLinkProposalRequest) returns (ApproveDisplayVideo360AdvertiserLinkProposalResponse) { option (google.api.http) = { post: "/v1alpha/{name=properties/*/displayVideo360AdvertiserLinkProposals/*}:approve" body: "*" }; } // Cancels a DisplayVideo360AdvertiserLinkProposal. // Cancelling can mean either: // - Declining a proposal initiated from Display & Video 360 // - Withdrawing a proposal initiated from Google Analytics // After being cancelled, a proposal will eventually be deleted automatically. rpc CancelDisplayVideo360AdvertiserLinkProposal(CancelDisplayVideo360AdvertiserLinkProposalRequest) returns (DisplayVideo360AdvertiserLinkProposal) { option (google.api.http) = { post: "/v1alpha/{name=properties/*/displayVideo360AdvertiserLinkProposals/*}:cancel" body: "*" }; } // Creates a CustomDimension. rpc CreateCustomDimension(CreateCustomDimensionRequest) returns (CustomDimension) { option (google.api.http) = { post: "/v1alpha/{parent=properties/*}/customDimensions" body: "custom_dimension" }; option (google.api.method_signature) = "parent,custom_dimension"; } // Updates a CustomDimension on a property. rpc UpdateCustomDimension(UpdateCustomDimensionRequest) returns (CustomDimension) { option (google.api.http) = { patch: "/v1alpha/{custom_dimension.name=properties/*/customDimensions/*}" body: "custom_dimension" }; option (google.api.method_signature) = "custom_dimension,update_mask"; } // Lists CustomDimensions on a property. rpc ListCustomDimensions(ListCustomDimensionsRequest) returns (ListCustomDimensionsResponse) { option (google.api.http) = { get: "/v1alpha/{parent=properties/*}/customDimensions" }; option (google.api.method_signature) = "parent"; } // Archives a CustomDimension on a property. rpc ArchiveCustomDimension(ArchiveCustomDimensionRequest) returns (google.protobuf.Empty) { option (google.api.http) = { post: "/v1alpha/{name=properties/*/customDimensions/*}:archive" body: "*" }; option (google.api.method_signature) = "name"; } // Lookup for a single CustomDimension. rpc GetCustomDimension(GetCustomDimensionRequest) returns (CustomDimension) { option (google.api.http) = { get: "/v1alpha/{name=properties/*/customDimensions/*}" }; option (google.api.method_signature) = "name"; } // Creates a CustomMetric. rpc CreateCustomMetric(CreateCustomMetricRequest) returns (CustomMetric) { option (google.api.http) = { post: "/v1alpha/{parent=properties/*}/customMetrics" body: "custom_metric" }; option (google.api.method_signature) = "parent,custom_metric"; } // Updates a CustomMetric on a property. rpc UpdateCustomMetric(UpdateCustomMetricRequest) returns (CustomMetric) { option (google.api.http) = { patch: "/v1alpha/{custom_metric.name=properties/*/customMetrics/*}" body: "custom_metric" }; option (google.api.method_signature) = "custom_metric,update_mask"; } // Lists CustomMetrics on a property. rpc ListCustomMetrics(ListCustomMetricsRequest) returns (ListCustomMetricsResponse) { option (google.api.http) = { get: "/v1alpha/{parent=properties/*}/customMetrics" }; option (google.api.method_signature) = "parent"; } // Archives a CustomMetric on a property. rpc ArchiveCustomMetric(ArchiveCustomMetricRequest) returns (google.protobuf.Empty) { option (google.api.http) = { post: "/v1alpha/{name=properties/*/customMetrics/*}:archive" body: "*" }; option (google.api.method_signature) = "name"; } // Lookup for a single CustomMetric. rpc GetCustomMetric(GetCustomMetricRequest) returns (CustomMetric) { option (google.api.http) = { get: "/v1alpha/{name=properties/*/customMetrics/*}" }; option (google.api.method_signature) = "name"; } // Returns the singleton data retention settings for this property. rpc GetDataRetentionSettings(GetDataRetentionSettingsRequest) returns (DataRetentionSettings) { option (google.api.http) = { get: "/v1alpha/{name=properties/*/dataRetentionSettings}" }; option (google.api.method_signature) = "name"; } // Updates the singleton data retention settings for this property. rpc UpdateDataRetentionSettings(UpdateDataRetentionSettingsRequest) returns (DataRetentionSettings) { option (google.api.http) = { patch: "/v1alpha/{data_retention_settings.name=properties/*/dataRetentionSettings}" body: "data_retention_settings" }; option (google.api.method_signature) = "data_retention_settings,update_mask"; } // Creates a DataStream. rpc CreateDataStream(CreateDataStreamRequest) returns (DataStream) { option (google.api.http) = { post: "/v1alpha/{parent=properties/*}/dataStreams" body: "data_stream" }; option (google.api.method_signature) = "parent,data_stream"; } // Deletes a DataStream on a property. rpc DeleteDataStream(DeleteDataStreamRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1alpha/{name=properties/*/dataStreams/*}" }; option (google.api.method_signature) = "name"; } // Updates a DataStream on a property. rpc UpdateDataStream(UpdateDataStreamRequest) returns (DataStream) { option (google.api.http) = { patch: "/v1alpha/{data_stream.name=properties/*/dataStreams/*}" body: "data_stream" }; option (google.api.method_signature) = "data_stream,update_mask"; } // Lists DataStreams on a property. rpc ListDataStreams(ListDataStreamsRequest) returns (ListDataStreamsResponse) { option (google.api.http) = { get: "/v1alpha/{parent=properties/*}/dataStreams" }; option (google.api.method_signature) = "parent"; } // Lookup for a single DataStream. rpc GetDataStream(GetDataStreamRequest) returns (DataStream) { option (google.api.http) = { get: "/v1alpha/{name=properties/*/dataStreams/*}" }; option (google.api.method_signature) = "name"; } // Lookup for a single Audience. // Audiences created before 2020 may not be supported. rpc GetAudience(GetAudienceRequest) returns (Audience) { option (google.api.http) = { get: "/v1alpha/{name=properties/*/audiences/*}" }; option (google.api.method_signature) = "name"; } // Lists Audiences on a property. // Audiences created before 2020 may not be supported. rpc ListAudiences(ListAudiencesRequest) returns (ListAudiencesResponse) { option (google.api.http) = { get: "/v1alpha/{parent=properties/*}/audiences" }; option (google.api.method_signature) = "parent"; } // Creates an Audience. rpc CreateAudience(CreateAudienceRequest) returns (Audience) { option (google.api.http) = { post: "/v1alpha/{parent=properties/*}/audiences" body: "audience" }; option (google.api.method_signature) = "parent,audience"; } // Updates an Audience on a property. rpc UpdateAudience(UpdateAudienceRequest) returns (Audience) { option (google.api.http) = { patch: "/v1alpha/{audience.name=properties/*/audiences/*}" body: "audience" }; option (google.api.method_signature) = "audience,update_mask"; } // Archives an Audience on a property. rpc ArchiveAudience(ArchiveAudienceRequest) returns (google.protobuf.Empty) { option (google.api.http) = { post: "/v1alpha/{name=properties/*/audiences/*}:archive" body: "*" }; } // Lookup for a AttributionSettings singleton. rpc GetAttributionSettings(GetAttributionSettingsRequest) returns (AttributionSettings) { option (google.api.http) = { get: "/v1alpha/{name=properties/*/attributionSettings}" }; option (google.api.method_signature) = "name"; } // Updates attribution settings on a property. rpc UpdateAttributionSettings(UpdateAttributionSettingsRequest) returns (AttributionSettings) { option (google.api.http) = { patch: "/v1alpha/{attribution_settings.name=properties/*/attributionSettings}" body: "attribution_settings" }; option (google.api.method_signature) = "attribution_settings,update_mask"; } // Returns a customized report of data access records. The report provides // records of each time a user reads Google Analytics reporting data. Access // records are retained for up to 2 years. // // Data Access Reports can be requested for a property. The property must be // in Google Analytics 360. This method is only available to Administrators. // // These data access records include GA4 UI Reporting, GA4 UI Explorations, // GA4 Data API, and other products like Firebase & Admob that can retrieve // data from Google Analytics through a linkage. These records don't include // property configuration changes like adding a stream or changing a // property's time zone. For configuration change history, see // [searchChangeHistoryEvents](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/accounts/searchChangeHistoryEvents). rpc RunAccessReport(RunAccessReportRequest) returns (RunAccessReportResponse) { option (google.api.http) = { post: "/v1alpha/{entity=properties/*}:runAccessReport" body: "*" }; } } // The request for a Data Access Record Report. message RunAccessReportRequest { // The Data Access Report is requested for this property. // For example if "123" is your GA4 property ID, then entity should be // "properties/123". string entity = 1; // The dimensions requested and displayed in the response. Requests are // allowed up to 9 dimensions. repeated AccessDimension dimensions = 2; // The metrics requested and displayed in the response. Requests are allowed // up to 10 metrics. repeated AccessMetric metrics = 3; // Date ranges of access records to read. If multiple date ranges are // requested, each response row will contain a zero based date range index. If // two date ranges overlap, the access records for the overlapping days is // included in the response rows for both date ranges. Requests are allowed up // to 2 date ranges. repeated AccessDateRange date_ranges = 4; // Dimension filters allow you to restrict report response to specific // dimension values which match the filter. For example, filtering on access // records of a single user. To learn more, see [Fundamentals of Dimension // Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) // for examples. Metrics cannot be used in this filter. AccessFilterExpression dimension_filter = 5; // Metric filters allow you to restrict report response to specific metric // values which match the filter. Metric filters are applied after aggregating // the report's rows, similar to SQL having-clause. Dimensions cannot be used // in this filter. AccessFilterExpression metric_filter = 6; // The row count of the start row. The first row is counted as row 0. If // offset is unspecified, it is treated as 0. If offset is zero, then this // method will return the first page of results with `limit` entries. // // To learn more about this pagination parameter, see // [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). int64 offset = 7; // The number of rows to return. If unspecified, 10,000 rows are returned. The // API returns a maximum of 100,000 rows per request, no matter how many you // ask for. `limit` must be positive. // // The API may return fewer rows than the requested `limit`, if there aren't // as many remaining rows as the `limit`. For instance, there are fewer than // 300 possible values for the dimension `country`, so when reporting on only // `country`, you can't get more than 300 rows, even if you set `limit` to a // higher value. // // To learn more about this pagination parameter, see // [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). int64 limit = 8; // This request's time zone if specified. If unspecified, the property's time // zone is used. The request's time zone is used to interpret the start & end // dates of the report. // // Formatted as strings from the IANA Time Zone database // (https://www.iana.org/time-zones); for example "America/New_York" or // "Asia/Tokyo". string time_zone = 9; // Specifies how rows are ordered in the response. repeated AccessOrderBy order_bys = 10; // Toggles whether to return the current state of this Analytics Property's // quota. Quota is returned in [AccessQuota](#AccessQuota). bool return_entity_quota = 11; } // The customized Data Access Record Report response. message RunAccessReportResponse { // The header for a column in the report that corresponds to a specific // dimension. The number of DimensionHeaders and ordering of DimensionHeaders // matches the dimensions present in rows. repeated AccessDimensionHeader dimension_headers = 1; // The header for a column in the report that corresponds to a specific // metric. The number of MetricHeaders and ordering of MetricHeaders matches // the metrics present in rows. repeated AccessMetricHeader metric_headers = 2; // Rows of dimension value combinations and metric values in the report. repeated AccessRow rows = 3; // The total number of rows in the query result. `rowCount` is independent of // the number of rows returned in the response, the `limit` request // parameter, and the `offset` request parameter. For example if a query // returns 175 rows and includes `limit` of 50 in the API request, the // response will contain `rowCount` of 175 but only 50 rows. // // To learn more about this pagination parameter, see // [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). int32 row_count = 4; // The quota state for this Analytics property including this request. AccessQuota quota = 5; } // Request message for GetAccount RPC. message GetAccountRequest { // Required. The name of the account to lookup. // Format: accounts/{account} // Example: "accounts/100" string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/Account" } ]; } // Request message for ListAccounts RPC. message ListAccountsRequest { // The maximum number of resources to return. The service may return // fewer than this value, even if there are additional pages. // If unspecified, at most 50 resources will be returned. // The maximum value is 200; (higher values will be coerced to the maximum) int32 page_size = 1; // A page token, received from a previous `ListAccounts` call. // Provide this to retrieve the subsequent page. // When paginating, all other parameters provided to `ListAccounts` must // match the call that provided the page token. string page_token = 2; // Whether to include soft-deleted (ie: "trashed") Accounts in the // results. Accounts can be inspected to determine whether they are deleted or // not. bool show_deleted = 3; } // Request message for ListAccounts RPC. message ListAccountsResponse { // Results that were accessible to the caller. repeated Account accounts = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; } // Request message for DeleteAccount RPC. message DeleteAccountRequest { // Required. The name of the Account to soft-delete. // Format: accounts/{account} // Example: "accounts/100" string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/Account" } ]; } // Request message for UpdateAccount RPC. message UpdateAccountRequest { // Required. The account to update. // The account's `name` field is used to identify the account. Account account = 1 [(google.api.field_behavior) = REQUIRED]; // Required. The list of fields to be updated. Field names must be in snake case // (e.g., "field_to_update"). Omitted fields will not be updated. To replace // the entire entity, use one path with the string "*" to match all fields. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for ProvisionAccountTicket RPC. message ProvisionAccountTicketRequest { // The account to create. Account account = 1; // Redirect URI where the user will be sent after accepting Terms of Service. // Must be configured in Developers Console as a Redirect URI string redirect_uri = 2; } // Response message for ProvisionAccountTicket RPC. message ProvisionAccountTicketResponse { // The param to be passed in the ToS link. string account_ticket_id = 1; } // Request message for GetProperty RPC. message GetPropertyRequest { // Required. The name of the property to lookup. // Format: properties/{property_id} // Example: "properties/1000" string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/Property" } ]; } // Request message for ListProperties RPC. message ListPropertiesRequest { // Required. An expression for filtering the results of the request. // Fields eligible for filtering are: // `parent:`(The resource name of the parent account/property) or // `ancestor:`(The resource name of the parent account) or // `firebase_project:`(The id or number of the linked firebase project). // Some examples of filters: // // ``` // | Filter | Description | // |-----------------------------|-------------------------------------------| // | parent:accounts/123 | The account with account id: 123. | // | parent:properties/123 | The property with property id: 123. | // | ancestor:accounts/123 | The account with account id: 123. | // | firebase_project:project-id | The firebase project with id: project-id. | // | firebase_project:123 | The firebase project with number: 123. | // ``` string filter = 1 [(google.api.field_behavior) = REQUIRED]; // The maximum number of resources to return. The service may return // fewer than this value, even if there are additional pages. // If unspecified, at most 50 resources will be returned. // The maximum value is 200; (higher values will be coerced to the maximum) int32 page_size = 2; // A page token, received from a previous `ListProperties` call. // Provide this to retrieve the subsequent page. // When paginating, all other parameters provided to `ListProperties` must // match the call that provided the page token. string page_token = 3; // Whether to include soft-deleted (ie: "trashed") Properties in the // results. Properties can be inspected to determine whether they are deleted // or not. bool show_deleted = 4; } // Response message for ListProperties RPC. message ListPropertiesResponse { // Results that matched the filter criteria and were accessible to the caller. repeated Property properties = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; } // Request message for UpdateProperty RPC. message UpdatePropertyRequest { // Required. The property to update. // The property's `name` field is used to identify the property to be // updated. Property property = 1 [(google.api.field_behavior) = REQUIRED]; // Required. The list of fields to be updated. Field names must be in snake case // (e.g., "field_to_update"). Omitted fields will not be updated. To replace // the entire entity, use one path with the string "*" to match all fields. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for CreateProperty RPC. message CreatePropertyRequest { // Required. The property to create. // Note: the supplied property must specify its parent. Property property = 1 [(google.api.field_behavior) = REQUIRED]; } // Request message for DeleteProperty RPC. message DeletePropertyRequest { // Required. The name of the Property to soft-delete. // Format: properties/{property_id} // Example: "properties/1000" string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/Property" } ]; } // Request message for GetUserLink RPC. message GetUserLinkRequest { // Required. Example format: accounts/1234/userLinks/5678 string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/UserLink" } ]; } // Request message for BatchGetUserLinks RPC. message BatchGetUserLinksRequest { // Required. The account or property that all user links in the request are // for. The parent of all provided values for the 'names' field must match // this field. // Example format: accounts/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/UserLink" } ]; // Required. The names of the user links to retrieve. // A maximum of 1000 user links can be retrieved in a batch. // Format: accounts/{accountId}/userLinks/{userLinkId} repeated string names = 2 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/UserLink" } ]; } // Response message for BatchGetUserLinks RPC. message BatchGetUserLinksResponse { // The requested user links. repeated UserLink user_links = 1; } // Request message for ListUserLinks RPC. message ListUserLinksRequest { // Required. Example format: accounts/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/UserLink" } ]; // The maximum number of user links to return. // The service may return fewer than this value. // If unspecified, at most 200 user links will be returned. // The maximum value is 500; values above 500 will be coerced to 500. int32 page_size = 2; // A page token, received from a previous `ListUserLinks` call. // Provide this to retrieve the subsequent page. // When paginating, all other parameters provided to `ListUserLinks` must // match the call that provided the page token. string page_token = 3; } // Response message for ListUserLinks RPC. message ListUserLinksResponse { // List of UserLinks. These will be ordered stably, but in an arbitrary order. repeated UserLink user_links = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; } // Request message for AuditUserLinks RPC. message AuditUserLinksRequest { // Required. Example format: accounts/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/UserLink" } ]; // The maximum number of user links to return. // The service may return fewer than this value. // If unspecified, at most 1000 user links will be returned. // The maximum value is 5000; values above 5000 will be coerced to 5000. int32 page_size = 2; // A page token, received from a previous `AuditUserLinks` call. // Provide this to retrieve the subsequent page. // When paginating, all other parameters provided to `AuditUserLinks` must // match the call that provided the page token. string page_token = 3; } // Response message for AuditUserLinks RPC. message AuditUserLinksResponse { // List of AuditUserLinks. These will be ordered stably, but in an arbitrary // order. repeated AuditUserLink user_links = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; } // Request message for CreateUserLink RPC. // // Users can have multiple email addresses associated with their Google // account, and one of these email addresses is the "primary" email address. // Any of the email addresses associated with a Google account may be used // for a new UserLink, but the returned UserLink will always contain the // "primary" email address. As a result, the input and output email address // for this request may differ. message CreateUserLinkRequest { // Required. Example format: accounts/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/UserLink" } ]; // Optional. If set, then email the new user notifying them that they've been granted // permissions to the resource. bool notify_new_user = 2 [(google.api.field_behavior) = OPTIONAL]; // Required. The user link to create. UserLink user_link = 3 [(google.api.field_behavior) = REQUIRED]; } // Request message for BatchCreateUserLinks RPC. message BatchCreateUserLinksRequest { // Required. The account or property that all user links in the request are for. // This field is required. The parent field in the CreateUserLinkRequest // messages must either be empty or match this field. // Example format: accounts/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/UserLink" } ]; // Optional. If set, then email the new users notifying them that they've been granted // permissions to the resource. Regardless of whether this is set or not, // notify_new_user field inside each individual request is ignored. bool notify_new_users = 2 [(google.api.field_behavior) = OPTIONAL]; // Required. The requests specifying the user links to create. // A maximum of 1000 user links can be created in a batch. repeated CreateUserLinkRequest requests = 3 [(google.api.field_behavior) = REQUIRED]; } // Response message for BatchCreateUserLinks RPC. message BatchCreateUserLinksResponse { // The user links created. repeated UserLink user_links = 1; } // Request message for UpdateUserLink RPC. message UpdateUserLinkRequest { // Required. The user link to update. UserLink user_link = 1 [(google.api.field_behavior) = REQUIRED]; } // Request message for BatchUpdateUserLinks RPC. message BatchUpdateUserLinksRequest { // Required. The account or property that all user links in the request are // for. The parent field in the UpdateUserLinkRequest messages must either be // empty or match this field. // Example format: accounts/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/UserLink" } ]; // Required. The requests specifying the user links to update. // A maximum of 1000 user links can be updated in a batch. repeated UpdateUserLinkRequest requests = 2 [(google.api.field_behavior) = REQUIRED]; } // Response message for BatchUpdateUserLinks RPC. message BatchUpdateUserLinksResponse { // The user links updated. repeated UserLink user_links = 1; } // Request message for DeleteUserLink RPC. message DeleteUserLinkRequest { // Required. Example format: accounts/1234/userLinks/5678 string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/UserLink" } ]; } // Request message for BatchDeleteUserLinks RPC. message BatchDeleteUserLinksRequest { // Required. The account or property that all user links in the request are // for. The parent of all values for user link names to delete must match this // field. // Example format: accounts/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/UserLink" } ]; // Required. The requests specifying the user links to update. // A maximum of 1000 user links can be updated in a batch. repeated DeleteUserLinkRequest requests = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for CreateFirebaseLink RPC message CreateFirebaseLinkRequest { // Required. Format: properties/{property_id} // Example: properties/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/FirebaseLink" } ]; // Required. The Firebase link to create. FirebaseLink firebase_link = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for DeleteFirebaseLink RPC message DeleteFirebaseLinkRequest { // Required. Format: properties/{property_id}/firebaseLinks/{firebase_link_id} // Example: properties/1234/firebaseLinks/5678 string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/FirebaseLink" } ]; } // Request message for ListFirebaseLinks RPC message ListFirebaseLinksRequest { // Required. Format: properties/{property_id} // Example: properties/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/FirebaseLink" } ]; // The maximum number of resources to return. The service may return // fewer than this value, even if there are additional pages. // If unspecified, at most 50 resources will be returned. // The maximum value is 200; (higher values will be coerced to the maximum) int32 page_size = 2; // A page token, received from a previous `ListFirebaseLinks` call. // Provide this to retrieve the subsequent page. // When paginating, all other parameters provided to `ListProperties` must // match the call that provided the page token. string page_token = 3; } // Response message for ListFirebaseLinks RPC message ListFirebaseLinksResponse { // List of FirebaseLinks. This will have at most one value. repeated FirebaseLink firebase_links = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. // Currently, Google Analytics supports only one FirebaseLink per property, // so this will never be populated. string next_page_token = 2; } // Request message for GetGlobalSiteTag RPC. message GetGlobalSiteTagRequest { // Required. The name of the site tag to lookup. // Note that site tags are singletons and do not have unique IDs. // Format: properties/{property_id}/dataStreams/{stream_id}/globalSiteTag // Example: "properties/123/dataStreams/456/globalSiteTag" string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/GlobalSiteTag" } ]; } // Request message for CreateGoogleAdsLink RPC message CreateGoogleAdsLinkRequest { // Required. Example format: properties/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/GoogleAdsLink" } ]; // Required. The GoogleAdsLink to create. GoogleAdsLink google_ads_link = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for UpdateGoogleAdsLink RPC message UpdateGoogleAdsLinkRequest { // The GoogleAdsLink to update GoogleAdsLink google_ads_link = 1; // Required. The list of fields to be updated. Field names must be in snake case // (e.g., "field_to_update"). Omitted fields will not be updated. To replace // the entire entity, use one path with the string "*" to match all fields. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for DeleteGoogleAdsLink RPC. message DeleteGoogleAdsLinkRequest { // Required. Example format: properties/1234/googleAdsLinks/5678 string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/GoogleAdsLink" } ]; } // Request message for ListGoogleAdsLinks RPC. message ListGoogleAdsLinksRequest { // Required. Example format: properties/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/GoogleAdsLink" } ]; // The maximum number of resources to return. // If unspecified, at most 50 resources will be returned. // The maximum value is 200 (higher values will be coerced to the maximum). int32 page_size = 2; // A page token, received from a previous `ListGoogleAdsLinks` call. // Provide this to retrieve the subsequent page. // // When paginating, all other parameters provided to `ListGoogleAdsLinks` must // match the call that provided the page token. string page_token = 3; } // Response message for ListGoogleAdsLinks RPC. message ListGoogleAdsLinksResponse { // List of GoogleAdsLinks. repeated GoogleAdsLink google_ads_links = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; } // Request message for GetDataSharingSettings RPC. message GetDataSharingSettingsRequest { // Required. The name of the settings to lookup. // Format: accounts/{account}/dataSharingSettings // Example: "accounts/1000/dataSharingSettings" string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/DataSharingSettings" } ]; } // Request message for ListAccountSummaries RPC. message ListAccountSummariesRequest { // The maximum number of AccountSummary resources to return. The service may // return fewer than this value, even if there are additional pages. // If unspecified, at most 50 resources will be returned. // The maximum value is 200; (higher values will be coerced to the maximum) int32 page_size = 1; // A page token, received from a previous `ListAccountSummaries` call. // Provide this to retrieve the subsequent page. // When paginating, all other parameters provided to `ListAccountSummaries` // must match the call that provided the page token. string page_token = 2; } // Response message for ListAccountSummaries RPC. message ListAccountSummariesResponse { // Account summaries of all accounts the caller has access to. repeated AccountSummary account_summaries = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; } // Request message for AcknowledgeUserDataCollection RPC. message AcknowledgeUserDataCollectionRequest { // Required. The property for which to acknowledge user data collection. string property = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/Property" } ]; // Required. An acknowledgement that the caller of this method understands the terms // of user data collection. // // This field must contain the exact value: // "I acknowledge that I have the necessary privacy disclosures and rights // from my end users for the collection and processing of their data, // including the association of such data with the visitation information // Google Analytics collects from my site and/or app property." string acknowledgement = 2 [(google.api.field_behavior) = REQUIRED]; } // Response message for AcknowledgeUserDataCollection RPC. message AcknowledgeUserDataCollectionResponse { } // Request message for SearchChangeHistoryEvents RPC. message SearchChangeHistoryEventsRequest { // Required. The account resource for which to return change history resources. string account = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/Account" } ]; // Optional. Resource name for a child property. If set, only return changes // made to this property or its child resources. string property = 2 [ (google.api.field_behavior) = OPTIONAL, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/Property" } ]; // Optional. If set, only return changes if they are for a resource that matches at // least one of these types. repeated ChangeHistoryResourceType resource_type = 3 [(google.api.field_behavior) = OPTIONAL]; // Optional. If set, only return changes that match one or more of these types of // actions. repeated ActionType action = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. If set, only return changes if they are made by a user in this list. repeated string actor_email = 5 [(google.api.field_behavior) = OPTIONAL]; // Optional. If set, only return changes made after this time (inclusive). google.protobuf.Timestamp earliest_change_time = 6 [(google.api.field_behavior) = OPTIONAL]; // Optional. If set, only return changes made before this time (inclusive). google.protobuf.Timestamp latest_change_time = 7 [(google.api.field_behavior) = OPTIONAL]; // Optional. The maximum number of ChangeHistoryEvent items to return. // The service may return fewer than this value, even if there are additional // pages. If unspecified, at most 50 items will be returned. // The maximum value is 200 (higher values will be coerced to the maximum). int32 page_size = 8 [(google.api.field_behavior) = OPTIONAL]; // Optional. A page token, received from a previous `SearchChangeHistoryEvents` call. // Provide this to retrieve the subsequent page. When paginating, all other // parameters provided to `SearchChangeHistoryEvents` must match the call that // provided the page token. string page_token = 9 [(google.api.field_behavior) = OPTIONAL]; } // Response message for SearchAccounts RPC. message SearchChangeHistoryEventsResponse { // Results that were accessible to the caller. repeated ChangeHistoryEvent change_history_events = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; } // Request message for GetMeasurementProtocolSecret RPC. message GetMeasurementProtocolSecretRequest { // Required. The name of the measurement protocol secret to lookup. // Format: // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret} string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" } ]; } // Request message for CreateMeasurementProtocolSecret RPC message CreateMeasurementProtocolSecretRequest { // Required. The parent resource where this secret will be created. // Format: properties/{property}/dataStreams/{dataStream} string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" } ]; // Required. The measurement protocol secret to create. MeasurementProtocolSecret measurement_protocol_secret = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for DeleteMeasurementProtocolSecret RPC message DeleteMeasurementProtocolSecretRequest { // Required. The name of the MeasurementProtocolSecret to delete. // Format: // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret} string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" } ]; } // Request message for UpdateMeasurementProtocolSecret RPC message UpdateMeasurementProtocolSecretRequest { // Required. The measurement protocol secret to update. MeasurementProtocolSecret measurement_protocol_secret = 1 [(google.api.field_behavior) = REQUIRED]; // The list of fields to be updated. Omitted fields will not be updated. google.protobuf.FieldMask update_mask = 2; } // Request message for ListMeasurementProtocolSecret RPC message ListMeasurementProtocolSecretsRequest { // Required. The resource name of the parent stream. // Format: // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" } ]; // The maximum number of resources to return. // If unspecified, at most 10 resources will be returned. // The maximum value is 10. Higher values will be coerced to the maximum. int32 page_size = 2; // A page token, received from a previous `ListMeasurementProtocolSecrets` // call. Provide this to retrieve the subsequent page. When paginating, all // other parameters provided to `ListMeasurementProtocolSecrets` must match // the call that provided the page token. string page_token = 3; } // Response message for ListMeasurementProtocolSecret RPC message ListMeasurementProtocolSecretsResponse { // A list of secrets for the parent stream specified in the request. repeated MeasurementProtocolSecret measurement_protocol_secrets = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; } // Request message for GetGoogleSignalsSettings RPC message GetGoogleSignalsSettingsRequest { // Required. The name of the google signals settings to retrieve. // Format: properties/{property}/googleSignalsSettings string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/GoogleSignalsSettings" } ]; } // Request message for UpdateGoogleSignalsSettings RPC message UpdateGoogleSignalsSettingsRequest { // Required. The settings to update. // The `name` field is used to identify the settings to be updated. GoogleSignalsSettings google_signals_settings = 1 [(google.api.field_behavior) = REQUIRED]; // Required. The list of fields to be updated. Field names must be in snake case // (e.g., "field_to_update"). Omitted fields will not be updated. To replace // the entire entity, use one path with the string "*" to match all fields. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for CreateConversionEvent RPC message CreateConversionEventRequest { // Required. The conversion event to create. ConversionEvent conversion_event = 1 [(google.api.field_behavior) = REQUIRED]; // Required. The resource name of the parent property where this conversion event will // be created. Format: properties/123 string parent = 2 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/ConversionEvent" } ]; } // Request message for GetConversionEvent RPC message GetConversionEventRequest { // Required. The resource name of the conversion event to retrieve. // Format: properties/{property}/conversionEvents/{conversion_event} // Example: "properties/123/conversionEvents/456" string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/ConversionEvent" } ]; } // Request message for DeleteConversionEvent RPC message DeleteConversionEventRequest { // Required. The resource name of the conversion event to delete. // Format: properties/{property}/conversionEvents/{conversion_event} // Example: "properties/123/conversionEvents/456" string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/ConversionEvent" } ]; } // Request message for ListConversionEvents RPC message ListConversionEventsRequest { // Required. The resource name of the parent property. // Example: 'properties/123' string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/ConversionEvent" } ]; // The maximum number of resources to return. // If unspecified, at most 50 resources will be returned. // The maximum value is 200; (higher values will be coerced to the maximum) int32 page_size = 2; // A page token, received from a previous `ListConversionEvents` call. // Provide this to retrieve the subsequent page. // When paginating, all other parameters provided to `ListConversionEvents` // must match the call that provided the page token. string page_token = 3; } // Response message for ListConversionEvents RPC. message ListConversionEventsResponse { // The requested conversion events repeated ConversionEvent conversion_events = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; } // Request message for GetDisplayVideo360AdvertiserLink RPC. message GetDisplayVideo360AdvertiserLinkRequest { // Required. The name of the DisplayVideo360AdvertiserLink to get. // Example format: properties/1234/displayVideo360AdvertiserLink/5678 string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLink" } ]; } // Request message for ListDisplayVideo360AdvertiserLinks RPC. message ListDisplayVideo360AdvertiserLinksRequest { // Required. Example format: properties/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLink" } ]; // The maximum number of resources to return. // If unspecified, at most 50 resources will be returned. // The maximum value is 200 (higher values will be coerced to the maximum). int32 page_size = 2; // A page token, received from a previous `ListDisplayVideo360AdvertiserLinks` // call. Provide this to retrieve the subsequent page. // // When paginating, all other parameters provided to // `ListDisplayVideo360AdvertiserLinks` must match the call that provided the // page token. string page_token = 3; } // Response message for ListDisplayVideo360AdvertiserLinks RPC. message ListDisplayVideo360AdvertiserLinksResponse { // List of DisplayVideo360AdvertiserLinks. repeated DisplayVideo360AdvertiserLink display_video_360_advertiser_links = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; } // Request message for CreateDisplayVideo360AdvertiserLink RPC. message CreateDisplayVideo360AdvertiserLinkRequest { // Required. Example format: properties/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLink" } ]; // Required. The DisplayVideo360AdvertiserLink to create. DisplayVideo360AdvertiserLink display_video_360_advertiser_link = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for DeleteDisplayVideo360AdvertiserLink RPC. message DeleteDisplayVideo360AdvertiserLinkRequest { // Required. The name of the DisplayVideo360AdvertiserLink to delete. // Example format: properties/1234/displayVideo360AdvertiserLinks/5678 string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLink" } ]; } // Request message for UpdateDisplayVideo360AdvertiserLink RPC. message UpdateDisplayVideo360AdvertiserLinkRequest { // The DisplayVideo360AdvertiserLink to update DisplayVideo360AdvertiserLink display_video_360_advertiser_link = 1; // Required. The list of fields to be updated. Omitted fields will not be updated. // To replace the entire entity, use one path with the string "*" to match // all fields. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for GetDisplayVideo360AdvertiserLinkProposal RPC. message GetDisplayVideo360AdvertiserLinkProposalRequest { // Required. The name of the DisplayVideo360AdvertiserLinkProposal to get. // Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678 string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal" } ]; } // Request message for ListDisplayVideo360AdvertiserLinkProposals RPC. message ListDisplayVideo360AdvertiserLinkProposalsRequest { // Required. Example format: properties/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal" } ]; // The maximum number of resources to return. // If unspecified, at most 50 resources will be returned. // The maximum value is 200 (higher values will be coerced to the maximum). int32 page_size = 2; // A page token, received from a previous // `ListDisplayVideo360AdvertiserLinkProposals` call. Provide this to retrieve // the subsequent page. // // When paginating, all other parameters provided to // `ListDisplayVideo360AdvertiserLinkProposals` must match the call that // provided the page token. string page_token = 3; } // Response message for ListDisplayVideo360AdvertiserLinkProposals RPC. message ListDisplayVideo360AdvertiserLinkProposalsResponse { // List of DisplayVideo360AdvertiserLinkProposals. repeated DisplayVideo360AdvertiserLinkProposal display_video_360_advertiser_link_proposals = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; } // Request message for CreateDisplayVideo360AdvertiserLinkProposal RPC. message CreateDisplayVideo360AdvertiserLinkProposalRequest { // Required. Example format: properties/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal" } ]; // Required. The DisplayVideo360AdvertiserLinkProposal to create. DisplayVideo360AdvertiserLinkProposal display_video_360_advertiser_link_proposal = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for DeleteDisplayVideo360AdvertiserLinkProposal RPC. message DeleteDisplayVideo360AdvertiserLinkProposalRequest { // Required. The name of the DisplayVideo360AdvertiserLinkProposal to delete. // Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678 string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal" } ]; } // Request message for ApproveDisplayVideo360AdvertiserLinkProposal RPC. message ApproveDisplayVideo360AdvertiserLinkProposalRequest { // Required. The name of the DisplayVideo360AdvertiserLinkProposal to approve. // Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678 string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal" } ]; } // Response message for ApproveDisplayVideo360AdvertiserLinkProposal RPC. message ApproveDisplayVideo360AdvertiserLinkProposalResponse { // The DisplayVideo360AdvertiserLink created as a result of approving the // proposal. DisplayVideo360AdvertiserLink display_video_360_advertiser_link = 1; } // Request message for CancelDisplayVideo360AdvertiserLinkProposal RPC. message CancelDisplayVideo360AdvertiserLinkProposalRequest { // Required. The name of the DisplayVideo360AdvertiserLinkProposal to cancel. // Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678 string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal" } ]; } // Request message for CreateCustomDimension RPC. message CreateCustomDimensionRequest { // Required. Example format: properties/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/CustomDimension" } ]; // Required. The CustomDimension to create. CustomDimension custom_dimension = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for UpdateCustomDimension RPC. message UpdateCustomDimensionRequest { // The CustomDimension to update CustomDimension custom_dimension = 1; // Required. The list of fields to be updated. Omitted fields will not be updated. // To replace the entire entity, use one path with the string "*" to match // all fields. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for ListCustomDimensions RPC. message ListCustomDimensionsRequest { // Required. Example format: properties/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/CustomDimension" } ]; // The maximum number of resources to return. // If unspecified, at most 50 resources will be returned. // The maximum value is 200 (higher values will be coerced to the maximum). int32 page_size = 2; // A page token, received from a previous `ListCustomDimensions` call. // Provide this to retrieve the subsequent page. // // When paginating, all other parameters provided to `ListCustomDimensions` // must match the call that provided the page token. string page_token = 3; } // Response message for ListCustomDimensions RPC. message ListCustomDimensionsResponse { // List of CustomDimensions. repeated CustomDimension custom_dimensions = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; } // Request message for ArchiveCustomDimension RPC. message ArchiveCustomDimensionRequest { // Required. The name of the CustomDimension to archive. // Example format: properties/1234/customDimensions/5678 string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/CustomDimension" } ]; } // Request message for GetCustomDimension RPC. message GetCustomDimensionRequest { // Required. The name of the CustomDimension to get. // Example format: properties/1234/customDimensions/5678 string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/CustomDimension" } ]; } // Request message for CreateCustomMetric RPC. message CreateCustomMetricRequest { // Required. Example format: properties/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/CustomMetric" } ]; // Required. The CustomMetric to create. CustomMetric custom_metric = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for UpdateCustomMetric RPC. message UpdateCustomMetricRequest { // The CustomMetric to update CustomMetric custom_metric = 1; // Required. The list of fields to be updated. Omitted fields will not be updated. // To replace the entire entity, use one path with the string "*" to match // all fields. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for ListCustomMetrics RPC. message ListCustomMetricsRequest { // Required. Example format: properties/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/CustomMetric" } ]; // The maximum number of resources to return. // If unspecified, at most 50 resources will be returned. // The maximum value is 200 (higher values will be coerced to the maximum). int32 page_size = 2; // A page token, received from a previous `ListCustomMetrics` call. // Provide this to retrieve the subsequent page. // // When paginating, all other parameters provided to `ListCustomMetrics` must // match the call that provided the page token. string page_token = 3; } // Response message for ListCustomMetrics RPC. message ListCustomMetricsResponse { // List of CustomMetrics. repeated CustomMetric custom_metrics = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; } // Request message for ArchiveCustomMetric RPC. message ArchiveCustomMetricRequest { // Required. The name of the CustomMetric to archive. // Example format: properties/1234/customMetrics/5678 string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/CustomMetric" } ]; } // Request message for GetCustomMetric RPC. message GetCustomMetricRequest { // Required. The name of the CustomMetric to get. // Example format: properties/1234/customMetrics/5678 string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/CustomMetric" } ]; } // Request message for GetDataRetentionSettings RPC. message GetDataRetentionSettingsRequest { // Required. The name of the settings to lookup. // Format: // properties/{property}/dataRetentionSettings // Example: "properties/1000/dataRetentionSettings" string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/DataRetentionSettings" } ]; } // Request message for UpdateDataRetentionSettings RPC. message UpdateDataRetentionSettingsRequest { // Required. The settings to update. // The `name` field is used to identify the settings to be updated. DataRetentionSettings data_retention_settings = 1 [(google.api.field_behavior) = REQUIRED]; // Required. The list of fields to be updated. Field names must be in snake case // (e.g., "field_to_update"). Omitted fields will not be updated. To replace // the entire entity, use one path with the string "*" to match all fields. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for CreateDataStream RPC. message CreateDataStreamRequest { // Required. Example format: properties/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/DataStream" } ]; // Required. The DataStream to create. DataStream data_stream = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for DeleteDataStream RPC. message DeleteDataStreamRequest { // Required. The name of the DataStream to delete. // Example format: properties/1234/dataStreams/5678 string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/DataStream" } ]; } // Request message for UpdateDataStream RPC. message UpdateDataStreamRequest { // The DataStream to update DataStream data_stream = 1; // Required. The list of fields to be updated. Omitted fields will not be updated. // To replace the entire entity, use one path with the string "*" to match // all fields. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for ListDataStreams RPC. message ListDataStreamsRequest { // Required. Example format: properties/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/DataStream" } ]; // The maximum number of resources to return. // If unspecified, at most 50 resources will be returned. // The maximum value is 200 (higher values will be coerced to the maximum). int32 page_size = 2; // A page token, received from a previous `ListDataStreams` call. // Provide this to retrieve the subsequent page. // // When paginating, all other parameters provided to `ListDataStreams` must // match the call that provided the page token. string page_token = 3; } // Response message for ListDataStreams RPC. message ListDataStreamsResponse { // List of DataStreams. repeated DataStream data_streams = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; } // Request message for GetDataStream RPC. message GetDataStreamRequest { // Required. The name of the DataStream to get. // Example format: properties/1234/dataStreams/5678 string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/DataStream" } ]; } // Request message for GetAudience RPC. message GetAudienceRequest { // Required. The name of the Audience to get. // Example format: properties/1234/audiences/5678 string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/Audience" } ]; } // Request message for ListAudiences RPC. message ListAudiencesRequest { // Required. Example format: properties/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/Audience" } ]; // The maximum number of resources to return. // If unspecified, at most 50 resources will be returned. // The maximum value is 200 (higher values will be coerced to the maximum). int32 page_size = 2; // A page token, received from a previous `ListAudiences` call. Provide this // to retrieve the subsequent page. // // When paginating, all other parameters provided to `ListAudiences` must // match the call that provided the page token. string page_token = 3; } // Response message for ListAudiences RPC. message ListAudiencesResponse { // List of Audiences. repeated Audience audiences = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; } // Request message for CreateAudience RPC. message CreateAudienceRequest { // Required. Example format: properties/1234 string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/Audience" } ]; // Required. The audience to create. Audience audience = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for UpdateAudience RPC. message UpdateAudienceRequest { // Required. The audience to update. // The audience's `name` field is used to identify the audience to be updated. Audience audience = 1 [(google.api.field_behavior) = REQUIRED]; // Required. The list of fields to be updated. Field names must be in snake case // (e.g., "field_to_update"). Omitted fields will not be updated. To replace // the entire entity, use one path with the string "*" to match all fields. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; } // Request message for ArchiveAudience RPC. message ArchiveAudienceRequest { // Required. Example format: properties/1234/audiences/5678 string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "analyticsadmin.googleapis.com/Audience" } ]; } // Request message for GetAttributionSettings RPC. message GetAttributionSettingsRequest { // Required. The name of the attribution settings to retrieve. // Format: properties/{property}/attributionSettings string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "analyticsadmin.googleapis.com/AttributionSettings" } ]; } // Request message for UpdateAttributionSettings RPC message UpdateAttributionSettingsRequest { // Required. The attribution settings to update. // The `name` field is used to identify the settings to be updated. AttributionSettings attribution_settings = 1 [(google.api.field_behavior) = REQUIRED]; // Required. The list of fields to be updated. Field names must be in snake case // (e.g., "field_to_update"). Omitted fields will not be updated. To replace // the entire entity, use one path with the string "*" to match all fields. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; }