// 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];
}