googleapis/google/analytics/admin/v1alpha/analytics_admin.proto

1394 lines
50 KiB
Protocol Buffer

// Copyright 2020 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/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";
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.
// Throws "Target not found" if no such account found, or if caller does not
// have permissions to access it.
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.
//
// Throws "Target not found" if no such property found, if property is not
// of the type "GA4", or if caller does not have permissions to access it.
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 (google.protobuf.Empty) {
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: "*"
}
};
}
// Lookup for a single WebDataStream
//
// Throws "Target not found" if no such web data stream found, or if the
// caller does not have permissions to access it.
rpc GetWebDataStream(GetWebDataStreamRequest) returns (WebDataStream) {
option (google.api.http) = {
get: "/v1alpha/{name=properties/*/webDataStreams/*}"
};
option (google.api.method_signature) = "name";
}
// Deletes a web stream on a property.
rpc DeleteWebDataStream(DeleteWebDataStreamRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v1alpha/{name=properties/*/webDataStreams/*}"
};
option (google.api.method_signature) = "name";
}
// Updates a web stream on a property.
rpc UpdateWebDataStream(UpdateWebDataStreamRequest) returns (WebDataStream) {
option (google.api.http) = {
patch: "/v1alpha/{web_data_stream.name=properties/*/webDataStreams/*}"
body: "web_data_stream"
};
option (google.api.method_signature) = "web_data_stream,update_mask";
}
// Creates a web stream with the specified location and attributes.
rpc CreateWebDataStream(CreateWebDataStreamRequest) returns (WebDataStream) {
option (google.api.http) = {
post: "/v1alpha/{parent=properties/*}/webDataStreams"
body: "web_data_stream"
};
option (google.api.method_signature) = "parent,web_data_stream";
}
// Returns child web data streams under the specified parent property.
//
// Web data streams will be excluded if the caller does not have access.
// Returns an empty list if no relevant web data streams are found.
rpc ListWebDataStreams(ListWebDataStreamsRequest) returns (ListWebDataStreamsResponse) {
option (google.api.http) = {
get: "/v1alpha/{parent=properties/*}/webDataStreams"
};
option (google.api.method_signature) = "parent";
}
// Lookup for a single IosAppDataStream
//
// Throws "Target not found" if no such iOS app data stream found, or if the
// caller does not have permissions to access it.
rpc GetIosAppDataStream(GetIosAppDataStreamRequest) returns (IosAppDataStream) {
option (google.api.http) = {
get: "/v1alpha/{name=properties/*/iosAppDataStreams/*}"
};
option (google.api.method_signature) = "name";
}
// Deletes an iOS app stream on a property.
rpc DeleteIosAppDataStream(DeleteIosAppDataStreamRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v1alpha/{name=properties/*/iosAppDataStreams/*}"
};
option (google.api.method_signature) = "name";
}
// Updates an iOS app stream on a property.
rpc UpdateIosAppDataStream(UpdateIosAppDataStreamRequest) returns (IosAppDataStream) {
option (google.api.http) = {
patch: "/v1alpha/{ios_app_data_stream.name=properties/*/iosAppDataStreams/*}"
body: "ios_app_data_stream"
};
option (google.api.method_signature) = "ios_app_data_stream,update_mask";
}
// Creates an iOS app data stream with the specified location and attributes.
rpc CreateIosAppDataStream(CreateIosAppDataStreamRequest) returns (IosAppDataStream) {
option (google.api.http) = {
post: "/v1alpha/{parent=properties/*}/iosAppDataStreams"
body: "ios_app_data_stream"
};
option (google.api.method_signature) = "parent,ios_app_data_stream";
}
// Returns child iOS app data streams under the specified parent property.
//
// iOS app data streams will be excluded if the caller does not have access.
// Returns an empty list if no relevant iOS app data streams are found.
rpc ListIosAppDataStreams(ListIosAppDataStreamsRequest) returns (ListIosAppDataStreamsResponse) {
option (google.api.http) = {
get: "/v1alpha/{parent=properties/*}/iosAppDataStreams"
};
option (google.api.method_signature) = "parent";
}
// Lookup for a single AndroidAppDataStream
//
// Throws "Target not found" if no such android app data stream found, or if
// the caller does not have permissions to access it.
rpc GetAndroidAppDataStream(GetAndroidAppDataStreamRequest) returns (AndroidAppDataStream) {
option (google.api.http) = {
get: "/v1alpha/{name=properties/*/androidAppDataStreams/*}"
};
option (google.api.method_signature) = "name";
}
// Deletes an android app stream on a property.
rpc DeleteAndroidAppDataStream(DeleteAndroidAppDataStreamRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v1alpha/{name=properties/*/androidAppDataStreams/*}"
};
option (google.api.method_signature) = "name";
}
// Updates an android app stream on a property.
rpc UpdateAndroidAppDataStream(UpdateAndroidAppDataStreamRequest) returns (AndroidAppDataStream) {
option (google.api.http) = {
patch: "/v1alpha/{android_app_data_stream.name=properties/*/androidAppDataStreams/*}"
body: "android_app_data_stream"
};
option (google.api.method_signature) = "android_app_data_stream,update_mask";
}
// Creates an android app stream with the specified location and attributes.
rpc CreateAndroidAppDataStream(CreateAndroidAppDataStreamRequest) returns (AndroidAppDataStream) {
option (google.api.http) = {
post: "/v1alpha/{parent=properties/*}/androidAppDataStreams"
body: "android_app_data_stream"
};
option (google.api.method_signature) = "parent,android_app_data_stream";
}
// Returns child android app streams under the specified parent property.
//
// Android app streams will be excluded if the caller does not have access.
// Returns an empty list if no relevant android app streams are found.
rpc ListAndroidAppDataStreams(ListAndroidAppDataStreamsRequest) returns (ListAndroidAppDataStreamsResponse) {
option (google.api.http) = {
get: "/v1alpha/{parent=properties/*}/androidAppDataStreams"
};
option (google.api.method_signature) = "parent";
}
// Returns the singleton enhanced measurement settings for this web stream.
// Note that the stream must enable enhanced measurement for these settings to
// take effect.
rpc GetEnhancedMeasurementSettings(GetEnhancedMeasurementSettingsRequest) returns (EnhancedMeasurementSettings) {
option (google.api.http) = {
get: "/v1alpha/{name=properties/*/webDataStreams/*/enhancedMeasurementSettings}"
};
option (google.api.method_signature) = "name";
}
// Updates the singleton enhanced measurement settings for this web stream.
// Note that the stream must enable enhanced measurement for these settings to
// take effect.
rpc UpdateEnhancedMeasurementSettings(UpdateEnhancedMeasurementSettingsRequest) returns (EnhancedMeasurementSettings) {
option (google.api.http) = {
patch: "/v1alpha/{enhanced_measurement_settings.name=properties/*/webDataStreams/*/enhancedMeasurementSettings}"
body: "enhanced_measurement_settings"
};
option (google.api.method_signature) = "enhanced_measurement_settings,update_mask";
}
// 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";
}
// Updates a FirebaseLink on a property
rpc UpdateFirebaseLink(UpdateFirebaseLinkRequest) returns (FirebaseLink) {
option (google.api.http) = {
patch: "/v1alpha/{firebase_link.name=properties/*/firebaseLinks/*}"
body: "firebase_link"
};
option (google.api.method_signature) = "firebase_link,update_mask";
}
// 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/*/webDataStreams/*/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";
}
}
// 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];
// The list of fields to be updated. Omitted fields will not be updated.
google.protobuf.FieldMask update_mask = 2;
}
// 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) 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. |
// | 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];
// The list of fields to be updated. Omitted fields will not be updated.
google.protobuf.FieldMask update_mask = 2;
}
// 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 GetWebDataStream RPC.
message GetWebDataStreamRequest {
// Required. The name of the web data stream to lookup.
// Format: properties/{property_id}/webDataStreams/{stream_id}
// Example: "properties/123/webDataStreams/456"
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "analyticsadmin.googleapis.com/WebDataStream"
}
];
}
// Request message for DeleteWebDataStream RPC.
message DeleteWebDataStreamRequest {
// Required. The name of the web data stream to delete.
// Format: properties/{property_id}/webDataStreams/{stream_id}
// Example: "properties/123/webDataStreams/456"
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "analyticsadmin.googleapis.com/WebDataStream"
}
];
}
// Request message for UpdateWebDataStream RPC.
message UpdateWebDataStreamRequest {
// Required. The web stream to update.
// The `name` field is used to identify the web stream to be updated.
WebDataStream web_data_stream = 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 CreateWebDataStream RPC.
message CreateWebDataStreamRequest {
// Required. The web stream to create.
WebDataStream web_data_stream = 1 [(google.api.field_behavior) = REQUIRED];
// Required. The parent resource where this web data stream will be created.
// Format: properties/123
string parent = 2 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "analyticsadmin.googleapis.com/WebDataStream"
}
];
}
// Request message for ListWebDataStreams RPC.
message ListWebDataStreamsRequest {
// Required. The name of the parent property.
// For example, to list results of web streams under the property with Id
// 123: "properties/123"
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "analyticsadmin.googleapis.com/WebDataStream"
}
];
// 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 `ListWebDataStreams` call.
// Provide this to retrieve the subsequent page.
// When paginating, all other parameters provided to `ListWebDataStreams` must
// match the call that provided the page token.
string page_token = 3;
}
// Request message for ListWebDataStreams RPC.
message ListWebDataStreamsResponse {
// Results that matched the filter criteria and were accessible to the caller.
repeated WebDataStream web_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 GetIosAppDataStream RPC.
message GetIosAppDataStreamRequest {
// Required. The name of the iOS app data stream to lookup.
// Format: properties/{property_id}/iosAppDataStreams/{stream_id}
// Example: "properties/123/iosAppDataStreams/456"
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "analyticsadmin.googleapis.com/IosAppDataStream"
}
];
}
// Request message for DeleteIosAppDataStream RPC.
message DeleteIosAppDataStreamRequest {
// Required. The name of the iOS app data stream to delete.
// Format: properties/{property_id}/iosAppDataStreams/{stream_id}
// Example: "properties/123/iosAppDataStreams/456"
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "analyticsadmin.googleapis.com/IosAppDataStream"
}
];
}
// Request message for UpdateIosAppDataStream RPC.
message UpdateIosAppDataStreamRequest {
// Required. The iOS app stream to update.
// The `name` field is used to identify the iOS app stream to be updated.
IosAppDataStream ios_app_data_stream = 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 CreateIosAppDataStream RPC.
message CreateIosAppDataStreamRequest {
// Required. The iOS app data stream to create.
IosAppDataStream ios_app_data_stream = 1 [(google.api.field_behavior) = REQUIRED];
// Required. The parent resource where this ios app data stream will be created.
// Format: properties/123
string parent = 2 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "analyticsadmin.googleapis.com/IosAppDataStream"
}
];
}
// Request message for ListIosAppDataStreams RPC.
message ListIosAppDataStreamsRequest {
// Required. The name of the parent property.
// For example, to list results of app streams under the property with Id
// 123: "properties/123"
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "analyticsadmin.googleapis.com/IosAppDataStream"
}
];
// 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 `ListIosAppDataStreams`
// call. Provide this to retrieve the subsequent page.
// When paginating, all other parameters provided to `ListIosAppDataStreams`
// must match the call that provided the page token.
string page_token = 3;
}
// Request message for ListIosAppDataStreams RPC.
message ListIosAppDataStreamsResponse {
// Results that matched the filter criteria and were accessible to the caller.
repeated IosAppDataStream ios_app_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 GetAndroidAppDataStream RPC.
message GetAndroidAppDataStreamRequest {
// Required. The name of the android app data stream to lookup.
// Format: properties/{property_id}/androidAppDataStreams/{stream_id}
// Example: "properties/123/androidAppDataStreams/456"
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "analyticsadmin.googleapis.com/AndroidAppDataStream"
}
];
}
// Request message for DeleteAndroidAppDataStream RPC.
message DeleteAndroidAppDataStreamRequest {
// Required. The name of the android app data stream to delete.
// Format: properties/{property_id}/androidAppDataStreams/{stream_id}
// Example: "properties/123/androidAppDataStreams/456"
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "analyticsadmin.googleapis.com/AndroidAppDataStream"
}
];
}
// Request message for UpdateAndroidAppDataStream RPC.
message UpdateAndroidAppDataStreamRequest {
// Required. The android app stream to update.
// The `name` field is used to identify the android app stream to be updated.
AndroidAppDataStream android_app_data_stream = 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 CreateAndroidAppDataStream RPC.
message CreateAndroidAppDataStreamRequest {
// Required. The android app stream to create.
AndroidAppDataStream android_app_data_stream = 1 [(google.api.field_behavior) = REQUIRED];
// Required. The parent resource where this android app data stream will be created.
// Format: properties/123
string parent = 2 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "analyticsadmin.googleapis.com/AndroidAppDataStream"
}
];
}
// Request message for ListAndroidAppDataStreams RPC.
message ListAndroidAppDataStreamsRequest {
// Required. The name of the parent property.
// For example, to limit results to app streams under the property with Id
// 123: "properties/123"
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "analyticsadmin.googleapis.com/AndroidAppDataStream"
}
];
// 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 call. Provide this to
// retrieve the subsequent page.
// When paginating, all other parameters provided to
// `ListAndroidAppDataStreams` must match the call that provided the page
// token.
string page_token = 3;
}
// Request message for ListAndroidDataStreams RPC.
message ListAndroidAppDataStreamsResponse {
// Results that matched the filter criteria and were accessible to the caller.
repeated AndroidAppDataStream android_app_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 GetEnhancedMeasurementSettings RPC.
message GetEnhancedMeasurementSettingsRequest {
// Required. The name of the settings to lookup.
// Format:
//
// properties/{property_id}/webDataStreams/{stream_id}/enhancedMeasurementSettings
// Example: "properties/1000/webDataStreams/2000/enhancedMeasurementSettings"
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "analyticsadmin.googleapis.com/EnhancedMeasurementSettings"
}
];
}
// Request message for UpdateEnhancedMeasurementSettings RPC.
message UpdateEnhancedMeasurementSettingsRequest {
// Required. The settings to update.
// The `name` field is used to identify the settings to be updated.
EnhancedMeasurementSettings enhanced_measurement_settings = 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 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 UpdateFirebaseLink RPC
message UpdateFirebaseLinkRequest {
// Required. The Firebase link to update.
FirebaseLink firebase_link = 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 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"
}
];
}
// Response message for ListFirebaseLinks RPC
message ListFirebaseLinksResponse {
// List of FirebaseLinks. This will have at most one value.
repeated FirebaseLink firebase_links = 1;
}
// 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}/webDataStreams/{stream_id}/globalSiteTag
// Example: "properties/123/webDataStreams/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;
// The list of fields to be updated. Omitted fields will not be updated.
google.protobuf.FieldMask update_mask = 2;
}
// 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;
}