1// Copyright 2023 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.analytics.admin.v1beta; 18 19import "google/analytics/admin/v1beta/access_report.proto"; 20import "google/analytics/admin/v1beta/resources.proto"; 21import "google/api/annotations.proto"; 22import "google/api/client.proto"; 23import "google/api/field_behavior.proto"; 24import "google/api/resource.proto"; 25import "google/protobuf/empty.proto"; 26import "google/protobuf/field_mask.proto"; 27import "google/protobuf/timestamp.proto"; 28 29option go_package = "google.golang.org/genproto/googleapis/analytics/admin/v1beta;admin"; 30option java_multiple_files = true; 31option java_outer_classname = "AnalyticsAdminProto"; 32option java_package = "com.google.analytics.admin.v1beta"; 33 34// Service Interface for the Analytics Admin API (GA4). 35service AnalyticsAdminService { 36 option (google.api.default_host) = "analyticsadmin.googleapis.com"; 37 option (google.api.oauth_scopes) = 38 "https://www.googleapis.com/auth/analytics.edit," 39 "https://www.googleapis.com/auth/analytics.readonly"; 40 41 // Lookup for a single Account. 42 rpc GetAccount(GetAccountRequest) returns (Account) { 43 option (google.api.http) = { 44 get: "/v1beta/{name=accounts/*}" 45 }; 46 option (google.api.method_signature) = "name"; 47 } 48 49 // Returns all accounts accessible by the caller. 50 // 51 // Note that these accounts might not currently have GA4 properties. 52 // Soft-deleted (ie: "trashed") accounts are excluded by default. 53 // Returns an empty list if no relevant accounts are found. 54 rpc ListAccounts(ListAccountsRequest) returns (ListAccountsResponse) { 55 option (google.api.http) = { 56 get: "/v1beta/accounts" 57 }; 58 } 59 60 // Marks target Account as soft-deleted (ie: "trashed") and returns it. 61 // 62 // This API does not have a method to restore soft-deleted accounts. 63 // However, they can be restored using the Trash Can UI. 64 // 65 // If the accounts are not restored before the expiration time, the account 66 // and all child resources (eg: Properties, GoogleAdsLinks, Streams, 67 // UserLinks) will be permanently purged. 68 // https://support.google.com/analytics/answer/6154772 69 // 70 // Returns an error if the target is not found. 71 rpc DeleteAccount(DeleteAccountRequest) returns (google.protobuf.Empty) { 72 option (google.api.http) = { 73 delete: "/v1beta/{name=accounts/*}" 74 }; 75 option (google.api.method_signature) = "name"; 76 } 77 78 // Updates an account. 79 rpc UpdateAccount(UpdateAccountRequest) returns (Account) { 80 option (google.api.http) = { 81 patch: "/v1beta/{account.name=accounts/*}" 82 body: "account" 83 }; 84 option (google.api.method_signature) = "account,update_mask"; 85 } 86 87 // Requests a ticket for creating an account. 88 rpc ProvisionAccountTicket(ProvisionAccountTicketRequest) 89 returns (ProvisionAccountTicketResponse) { 90 option (google.api.http) = { 91 post: "/v1beta/accounts:provisionAccountTicket" 92 body: "*" 93 }; 94 } 95 96 // Returns summaries of all accounts accessible by the caller. 97 rpc ListAccountSummaries(ListAccountSummariesRequest) 98 returns (ListAccountSummariesResponse) { 99 option (google.api.http) = { 100 get: "/v1beta/accountSummaries" 101 }; 102 } 103 104 // Lookup for a single "GA4" Property. 105 rpc GetProperty(GetPropertyRequest) returns (Property) { 106 option (google.api.http) = { 107 get: "/v1beta/{name=properties/*}" 108 }; 109 option (google.api.method_signature) = "name"; 110 } 111 112 // Returns child Properties under the specified parent Account. 113 // 114 // Only "GA4" properties will be returned. 115 // Properties will be excluded if the caller does not have access. 116 // Soft-deleted (ie: "trashed") properties are excluded by default. 117 // Returns an empty list if no relevant properties are found. 118 rpc ListProperties(ListPropertiesRequest) returns (ListPropertiesResponse) { 119 option (google.api.http) = { 120 get: "/v1beta/properties" 121 }; 122 } 123 124 // Creates an "GA4" property with the specified location and attributes. 125 rpc CreateProperty(CreatePropertyRequest) returns (Property) { 126 option (google.api.http) = { 127 post: "/v1beta/properties" 128 body: "property" 129 }; 130 option (google.api.method_signature) = "property"; 131 } 132 133 // Marks target Property as soft-deleted (ie: "trashed") and returns it. 134 // 135 // This API does not have a method to restore soft-deleted properties. 136 // However, they can be restored using the Trash Can UI. 137 // 138 // If the properties are not restored before the expiration time, the Property 139 // and all child resources (eg: GoogleAdsLinks, Streams, UserLinks) 140 // will be permanently purged. 141 // https://support.google.com/analytics/answer/6154772 142 // 143 // Returns an error if the target is not found, or is not a GA4 Property. 144 rpc DeleteProperty(DeletePropertyRequest) returns (Property) { 145 option (google.api.http) = { 146 delete: "/v1beta/{name=properties/*}" 147 }; 148 option (google.api.method_signature) = "name"; 149 } 150 151 // Updates a property. 152 rpc UpdateProperty(UpdatePropertyRequest) returns (Property) { 153 option (google.api.http) = { 154 patch: "/v1beta/{property.name=properties/*}" 155 body: "property" 156 }; 157 option (google.api.method_signature) = "property,update_mask"; 158 } 159 160 // Creates a FirebaseLink. 161 // 162 // Properties can have at most one FirebaseLink. 163 rpc CreateFirebaseLink(CreateFirebaseLinkRequest) returns (FirebaseLink) { 164 option (google.api.http) = { 165 post: "/v1beta/{parent=properties/*}/firebaseLinks" 166 body: "firebase_link" 167 }; 168 option (google.api.method_signature) = "parent,firebase_link"; 169 } 170 171 // Deletes a FirebaseLink on a property 172 rpc DeleteFirebaseLink(DeleteFirebaseLinkRequest) 173 returns (google.protobuf.Empty) { 174 option (google.api.http) = { 175 delete: "/v1beta/{name=properties/*/firebaseLinks/*}" 176 }; 177 option (google.api.method_signature) = "name"; 178 } 179 180 // Lists FirebaseLinks on a property. 181 // Properties can have at most one FirebaseLink. 182 rpc ListFirebaseLinks(ListFirebaseLinksRequest) 183 returns (ListFirebaseLinksResponse) { 184 option (google.api.http) = { 185 get: "/v1beta/{parent=properties/*}/firebaseLinks" 186 }; 187 option (google.api.method_signature) = "parent"; 188 } 189 190 // Creates a GoogleAdsLink. 191 rpc CreateGoogleAdsLink(CreateGoogleAdsLinkRequest) returns (GoogleAdsLink) { 192 option (google.api.http) = { 193 post: "/v1beta/{parent=properties/*}/googleAdsLinks" 194 body: "google_ads_link" 195 }; 196 option (google.api.method_signature) = "parent,google_ads_link"; 197 } 198 199 // Updates a GoogleAdsLink on a property 200 rpc UpdateGoogleAdsLink(UpdateGoogleAdsLinkRequest) returns (GoogleAdsLink) { 201 option (google.api.http) = { 202 patch: "/v1beta/{google_ads_link.name=properties/*/googleAdsLinks/*}" 203 body: "google_ads_link" 204 }; 205 option (google.api.method_signature) = "google_ads_link,update_mask"; 206 } 207 208 // Deletes a GoogleAdsLink on a property 209 rpc DeleteGoogleAdsLink(DeleteGoogleAdsLinkRequest) 210 returns (google.protobuf.Empty) { 211 option (google.api.http) = { 212 delete: "/v1beta/{name=properties/*/googleAdsLinks/*}" 213 }; 214 option (google.api.method_signature) = "name"; 215 } 216 217 // Lists GoogleAdsLinks on a property. 218 rpc ListGoogleAdsLinks(ListGoogleAdsLinksRequest) 219 returns (ListGoogleAdsLinksResponse) { 220 option (google.api.http) = { 221 get: "/v1beta/{parent=properties/*}/googleAdsLinks" 222 }; 223 option (google.api.method_signature) = "parent"; 224 } 225 226 // Get data sharing settings on an account. 227 // Data sharing settings are singletons. 228 rpc GetDataSharingSettings(GetDataSharingSettingsRequest) 229 returns (DataSharingSettings) { 230 option (google.api.http) = { 231 get: "/v1beta/{name=accounts/*/dataSharingSettings}" 232 }; 233 option (google.api.method_signature) = "name"; 234 } 235 236 // Lookup for a single "GA4" MeasurementProtocolSecret. 237 rpc GetMeasurementProtocolSecret(GetMeasurementProtocolSecretRequest) 238 returns (MeasurementProtocolSecret) { 239 option (google.api.http) = { 240 get: "/v1beta/{name=properties/*/dataStreams/*/measurementProtocolSecrets/*}" 241 }; 242 option (google.api.method_signature) = "name"; 243 } 244 245 // Returns child MeasurementProtocolSecrets under the specified parent 246 // Property. 247 rpc ListMeasurementProtocolSecrets(ListMeasurementProtocolSecretsRequest) 248 returns (ListMeasurementProtocolSecretsResponse) { 249 option (google.api.http) = { 250 get: "/v1beta/{parent=properties/*/dataStreams/*}/measurementProtocolSecrets" 251 }; 252 option (google.api.method_signature) = "parent"; 253 } 254 255 // Creates a measurement protocol secret. 256 rpc CreateMeasurementProtocolSecret(CreateMeasurementProtocolSecretRequest) 257 returns (MeasurementProtocolSecret) { 258 option (google.api.http) = { 259 post: "/v1beta/{parent=properties/*/dataStreams/*}/measurementProtocolSecrets" 260 body: "measurement_protocol_secret" 261 }; 262 option (google.api.method_signature) = "parent,measurement_protocol_secret"; 263 } 264 265 // Deletes target MeasurementProtocolSecret. 266 rpc DeleteMeasurementProtocolSecret(DeleteMeasurementProtocolSecretRequest) 267 returns (google.protobuf.Empty) { 268 option (google.api.http) = { 269 delete: "/v1beta/{name=properties/*/dataStreams/*/measurementProtocolSecrets/*}" 270 }; 271 option (google.api.method_signature) = "name"; 272 } 273 274 // Updates a measurement protocol secret. 275 rpc UpdateMeasurementProtocolSecret(UpdateMeasurementProtocolSecretRequest) 276 returns (MeasurementProtocolSecret) { 277 option (google.api.http) = { 278 patch: "/v1beta/{measurement_protocol_secret.name=properties/*/dataStreams/*/measurementProtocolSecrets/*}" 279 body: "measurement_protocol_secret" 280 }; 281 option (google.api.method_signature) = 282 "measurement_protocol_secret,update_mask"; 283 } 284 285 // Acknowledges the terms of user data collection for the specified property. 286 // 287 // This acknowledgement must be completed (either in the Google Analytics UI 288 // or through this API) before MeasurementProtocolSecret resources may be 289 // created. 290 rpc AcknowledgeUserDataCollection(AcknowledgeUserDataCollectionRequest) 291 returns (AcknowledgeUserDataCollectionResponse) { 292 option (google.api.http) = { 293 post: "/v1beta/{property=properties/*}:acknowledgeUserDataCollection" 294 body: "*" 295 }; 296 } 297 298 // Searches through all changes to an account or its children given the 299 // specified set of filters. 300 rpc SearchChangeHistoryEvents(SearchChangeHistoryEventsRequest) 301 returns (SearchChangeHistoryEventsResponse) { 302 option (google.api.http) = { 303 post: "/v1beta/{account=accounts/*}:searchChangeHistoryEvents" 304 body: "*" 305 }; 306 } 307 308 // Creates a conversion event with the specified attributes. 309 rpc CreateConversionEvent(CreateConversionEventRequest) 310 returns (ConversionEvent) { 311 option (google.api.http) = { 312 post: "/v1beta/{parent=properties/*}/conversionEvents" 313 body: "conversion_event" 314 }; 315 option (google.api.method_signature) = "parent,conversion_event"; 316 } 317 318 // Updates a conversion event with the specified attributes. 319 rpc UpdateConversionEvent(UpdateConversionEventRequest) 320 returns (ConversionEvent) { 321 option (google.api.http) = { 322 patch: "/v1beta/{conversion_event.name=properties/*/conversionEvents/*}" 323 body: "conversion_event" 324 }; 325 option (google.api.method_signature) = "conversion_event,update_mask"; 326 } 327 328 // Retrieve a single conversion event. 329 rpc GetConversionEvent(GetConversionEventRequest) returns (ConversionEvent) { 330 option (google.api.http) = { 331 get: "/v1beta/{name=properties/*/conversionEvents/*}" 332 }; 333 option (google.api.method_signature) = "name"; 334 } 335 336 // Deletes a conversion event in a property. 337 rpc DeleteConversionEvent(DeleteConversionEventRequest) 338 returns (google.protobuf.Empty) { 339 option (google.api.http) = { 340 delete: "/v1beta/{name=properties/*/conversionEvents/*}" 341 }; 342 option (google.api.method_signature) = "name"; 343 } 344 345 // Returns a list of conversion events in the specified parent property. 346 // 347 // Returns an empty list if no conversion events are found. 348 rpc ListConversionEvents(ListConversionEventsRequest) 349 returns (ListConversionEventsResponse) { 350 option (google.api.http) = { 351 get: "/v1beta/{parent=properties/*}/conversionEvents" 352 }; 353 option (google.api.method_signature) = "parent"; 354 } 355 356 // Creates a CustomDimension. 357 rpc CreateCustomDimension(CreateCustomDimensionRequest) 358 returns (CustomDimension) { 359 option (google.api.http) = { 360 post: "/v1beta/{parent=properties/*}/customDimensions" 361 body: "custom_dimension" 362 }; 363 option (google.api.method_signature) = "parent,custom_dimension"; 364 } 365 366 // Updates a CustomDimension on a property. 367 rpc UpdateCustomDimension(UpdateCustomDimensionRequest) 368 returns (CustomDimension) { 369 option (google.api.http) = { 370 patch: "/v1beta/{custom_dimension.name=properties/*/customDimensions/*}" 371 body: "custom_dimension" 372 }; 373 option (google.api.method_signature) = "custom_dimension,update_mask"; 374 } 375 376 // Lists CustomDimensions on a property. 377 rpc ListCustomDimensions(ListCustomDimensionsRequest) 378 returns (ListCustomDimensionsResponse) { 379 option (google.api.http) = { 380 get: "/v1beta/{parent=properties/*}/customDimensions" 381 }; 382 option (google.api.method_signature) = "parent"; 383 } 384 385 // Archives a CustomDimension on a property. 386 rpc ArchiveCustomDimension(ArchiveCustomDimensionRequest) 387 returns (google.protobuf.Empty) { 388 option (google.api.http) = { 389 post: "/v1beta/{name=properties/*/customDimensions/*}:archive" 390 body: "*" 391 }; 392 option (google.api.method_signature) = "name"; 393 } 394 395 // Lookup for a single CustomDimension. 396 rpc GetCustomDimension(GetCustomDimensionRequest) returns (CustomDimension) { 397 option (google.api.http) = { 398 get: "/v1beta/{name=properties/*/customDimensions/*}" 399 }; 400 option (google.api.method_signature) = "name"; 401 } 402 403 // Creates a CustomMetric. 404 rpc CreateCustomMetric(CreateCustomMetricRequest) returns (CustomMetric) { 405 option (google.api.http) = { 406 post: "/v1beta/{parent=properties/*}/customMetrics" 407 body: "custom_metric" 408 }; 409 option (google.api.method_signature) = "parent,custom_metric"; 410 } 411 412 // Updates a CustomMetric on a property. 413 rpc UpdateCustomMetric(UpdateCustomMetricRequest) returns (CustomMetric) { 414 option (google.api.http) = { 415 patch: "/v1beta/{custom_metric.name=properties/*/customMetrics/*}" 416 body: "custom_metric" 417 }; 418 option (google.api.method_signature) = "custom_metric,update_mask"; 419 } 420 421 // Lists CustomMetrics on a property. 422 rpc ListCustomMetrics(ListCustomMetricsRequest) 423 returns (ListCustomMetricsResponse) { 424 option (google.api.http) = { 425 get: "/v1beta/{parent=properties/*}/customMetrics" 426 }; 427 option (google.api.method_signature) = "parent"; 428 } 429 430 // Archives a CustomMetric on a property. 431 rpc ArchiveCustomMetric(ArchiveCustomMetricRequest) 432 returns (google.protobuf.Empty) { 433 option (google.api.http) = { 434 post: "/v1beta/{name=properties/*/customMetrics/*}:archive" 435 body: "*" 436 }; 437 option (google.api.method_signature) = "name"; 438 } 439 440 // Lookup for a single CustomMetric. 441 rpc GetCustomMetric(GetCustomMetricRequest) returns (CustomMetric) { 442 option (google.api.http) = { 443 get: "/v1beta/{name=properties/*/customMetrics/*}" 444 }; 445 option (google.api.method_signature) = "name"; 446 } 447 448 // Returns the singleton data retention settings for this property. 449 rpc GetDataRetentionSettings(GetDataRetentionSettingsRequest) 450 returns (DataRetentionSettings) { 451 option (google.api.http) = { 452 get: "/v1beta/{name=properties/*/dataRetentionSettings}" 453 }; 454 option (google.api.method_signature) = "name"; 455 } 456 457 // Updates the singleton data retention settings for this property. 458 rpc UpdateDataRetentionSettings(UpdateDataRetentionSettingsRequest) 459 returns (DataRetentionSettings) { 460 option (google.api.http) = { 461 patch: "/v1beta/{data_retention_settings.name=properties/*/dataRetentionSettings}" 462 body: "data_retention_settings" 463 }; 464 option (google.api.method_signature) = 465 "data_retention_settings,update_mask"; 466 } 467 468 // Creates a DataStream. 469 rpc CreateDataStream(CreateDataStreamRequest) returns (DataStream) { 470 option (google.api.http) = { 471 post: "/v1beta/{parent=properties/*}/dataStreams" 472 body: "data_stream" 473 }; 474 option (google.api.method_signature) = "parent,data_stream"; 475 } 476 477 // Deletes a DataStream on a property. 478 rpc DeleteDataStream(DeleteDataStreamRequest) 479 returns (google.protobuf.Empty) { 480 option (google.api.http) = { 481 delete: "/v1beta/{name=properties/*/dataStreams/*}" 482 }; 483 option (google.api.method_signature) = "name"; 484 } 485 486 // Updates a DataStream on a property. 487 rpc UpdateDataStream(UpdateDataStreamRequest) returns (DataStream) { 488 option (google.api.http) = { 489 patch: "/v1beta/{data_stream.name=properties/*/dataStreams/*}" 490 body: "data_stream" 491 }; 492 option (google.api.method_signature) = "data_stream,update_mask"; 493 } 494 495 // Lists DataStreams on a property. 496 rpc ListDataStreams(ListDataStreamsRequest) 497 returns (ListDataStreamsResponse) { 498 option (google.api.http) = { 499 get: "/v1beta/{parent=properties/*}/dataStreams" 500 }; 501 option (google.api.method_signature) = "parent"; 502 } 503 504 // Lookup for a single DataStream. 505 rpc GetDataStream(GetDataStreamRequest) returns (DataStream) { 506 option (google.api.http) = { 507 get: "/v1beta/{name=properties/*/dataStreams/*}" 508 }; 509 option (google.api.method_signature) = "name"; 510 } 511 512 // Returns a customized report of data access records. The report provides 513 // records of each time a user reads Google Analytics reporting data. Access 514 // records are retained for up to 2 years. 515 // 516 // Data Access Reports can be requested for a property. The property must be 517 // in Google Analytics 360. This method is only available to Administrators. 518 // 519 // These data access records include GA4 UI Reporting, GA4 UI Explorations, 520 // GA4 Data API, and other products like Firebase & Admob that can retrieve 521 // data from Google Analytics through a linkage. These records don't include 522 // property configuration changes like adding a stream or changing a 523 // property's time zone. For configuration change history, see 524 // [searchChangeHistoryEvents](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/accounts/searchChangeHistoryEvents). 525 rpc RunAccessReport(RunAccessReportRequest) 526 returns (RunAccessReportResponse) { 527 option (google.api.http) = { 528 post: "/v1beta/{entity=properties/*}:runAccessReport" 529 body: "*" 530 additional_bindings { 531 post: "/v1beta/{entity=accounts/*}:runAccessReport" 532 body: "*" 533 } 534 }; 535 } 536} 537 538// The request for a Data Access Record Report. 539message RunAccessReportRequest { 540 // The Data Access Report supports requesting at the property level or account 541 // level. If requested at the account level, Data Access Reports include all 542 // access for all properties under that account. 543 // 544 // To request at the property level, entity should be for example 545 // 'properties/123' if "123" is your GA4 property ID. To request at the 546 // account level, entity should be for example 'accounts/1234' if "1234" is 547 // your GA4 Account ID. 548 string entity = 1; 549 550 // The dimensions requested and displayed in the response. Requests are 551 // allowed up to 9 dimensions. 552 repeated AccessDimension dimensions = 2; 553 554 // The metrics requested and displayed in the response. Requests are allowed 555 // up to 10 metrics. 556 repeated AccessMetric metrics = 3; 557 558 // Date ranges of access records to read. If multiple date ranges are 559 // requested, each response row will contain a zero based date range index. If 560 // two date ranges overlap, the access records for the overlapping days is 561 // included in the response rows for both date ranges. Requests are allowed up 562 // to 2 date ranges. 563 repeated AccessDateRange date_ranges = 4; 564 565 // Dimension filters let you restrict report response to specific 566 // dimension values which match the filter. For example, filtering on access 567 // records of a single user. To learn more, see [Fundamentals of Dimension 568 // Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) 569 // for examples. Metrics cannot be used in this filter. 570 AccessFilterExpression dimension_filter = 5; 571 572 // Metric filters allow you to restrict report response to specific metric 573 // values which match the filter. Metric filters are applied after aggregating 574 // the report's rows, similar to SQL having-clause. Dimensions cannot be used 575 // in this filter. 576 AccessFilterExpression metric_filter = 6; 577 578 // The row count of the start row. The first row is counted as row 0. If 579 // offset is unspecified, it is treated as 0. If offset is zero, then this 580 // method will return the first page of results with `limit` entries. 581 // 582 // To learn more about this pagination parameter, see 583 // [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). 584 int64 offset = 7; 585 586 // The number of rows to return. If unspecified, 10,000 rows are returned. The 587 // API returns a maximum of 100,000 rows per request, no matter how many you 588 // ask for. `limit` must be positive. 589 // 590 // The API may return fewer rows than the requested `limit`, if there aren't 591 // as many remaining rows as the `limit`. For instance, there are fewer than 592 // 300 possible values for the dimension `country`, so when reporting on only 593 // `country`, you can't get more than 300 rows, even if you set `limit` to a 594 // higher value. 595 // 596 // To learn more about this pagination parameter, see 597 // [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). 598 int64 limit = 8; 599 600 // This request's time zone if specified. If unspecified, the property's time 601 // zone is used. The request's time zone is used to interpret the start & end 602 // dates of the report. 603 // 604 // Formatted as strings from the IANA Time Zone database 605 // (https://www.iana.org/time-zones); for example "America/New_York" or 606 // "Asia/Tokyo". 607 string time_zone = 9; 608 609 // Specifies how rows are ordered in the response. 610 repeated AccessOrderBy order_bys = 10; 611 612 // Toggles whether to return the current state of this Analytics Property's 613 // quota. Quota is returned in [AccessQuota](#AccessQuota). For account-level 614 // requests, this field must be false. 615 bool return_entity_quota = 11; 616} 617 618// The customized Data Access Record Report response. 619message RunAccessReportResponse { 620 // The header for a column in the report that corresponds to a specific 621 // dimension. The number of DimensionHeaders and ordering of DimensionHeaders 622 // matches the dimensions present in rows. 623 repeated AccessDimensionHeader dimension_headers = 1; 624 625 // The header for a column in the report that corresponds to a specific 626 // metric. The number of MetricHeaders and ordering of MetricHeaders matches 627 // the metrics present in rows. 628 repeated AccessMetricHeader metric_headers = 2; 629 630 // Rows of dimension value combinations and metric values in the report. 631 repeated AccessRow rows = 3; 632 633 // The total number of rows in the query result. `rowCount` is independent of 634 // the number of rows returned in the response, the `limit` request 635 // parameter, and the `offset` request parameter. For example if a query 636 // returns 175 rows and includes `limit` of 50 in the API request, the 637 // response will contain `rowCount` of 175 but only 50 rows. 638 // 639 // To learn more about this pagination parameter, see 640 // [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). 641 int32 row_count = 4; 642 643 // The quota state for this Analytics property including this request. This 644 // field doesn't work with account-level requests. 645 AccessQuota quota = 5; 646} 647 648// Request message for GetAccount RPC. 649message GetAccountRequest { 650 // Required. The name of the account to lookup. 651 // Format: accounts/{account} 652 // Example: "accounts/100" 653 string name = 1 [ 654 (google.api.field_behavior) = REQUIRED, 655 (google.api.resource_reference) = { 656 type: "analyticsadmin.googleapis.com/Account" 657 } 658 ]; 659} 660 661// Request message for ListAccounts RPC. 662message ListAccountsRequest { 663 // The maximum number of resources to return. The service may return 664 // fewer than this value, even if there are additional pages. 665 // If unspecified, at most 50 resources will be returned. 666 // The maximum value is 200; (higher values will be coerced to the maximum) 667 int32 page_size = 1; 668 669 // A page token, received from a previous `ListAccounts` call. 670 // Provide this to retrieve the subsequent page. 671 // When paginating, all other parameters provided to `ListAccounts` must 672 // match the call that provided the page token. 673 string page_token = 2; 674 675 // Whether to include soft-deleted (ie: "trashed") Accounts in the 676 // results. Accounts can be inspected to determine whether they are deleted or 677 // not. 678 bool show_deleted = 3; 679} 680 681// Request message for ListAccounts RPC. 682message ListAccountsResponse { 683 // Results that were accessible to the caller. 684 repeated Account accounts = 1; 685 686 // A token, which can be sent as `page_token` to retrieve the next page. 687 // If this field is omitted, there are no subsequent pages. 688 string next_page_token = 2; 689} 690 691// Request message for DeleteAccount RPC. 692message DeleteAccountRequest { 693 // Required. The name of the Account to soft-delete. 694 // Format: accounts/{account} 695 // Example: "accounts/100" 696 string name = 1 [ 697 (google.api.field_behavior) = REQUIRED, 698 (google.api.resource_reference) = { 699 type: "analyticsadmin.googleapis.com/Account" 700 } 701 ]; 702} 703 704// Request message for UpdateAccount RPC. 705message UpdateAccountRequest { 706 // Required. The account to update. 707 // The account's `name` field is used to identify the account. 708 Account account = 1 [(google.api.field_behavior) = REQUIRED]; 709 710 // Required. The list of fields to be updated. Field names must be in snake 711 // case (for example, "field_to_update"). Omitted fields will not be updated. 712 // To replace the entire entity, use one path with the string "*" to match all 713 // fields. 714 google.protobuf.FieldMask update_mask = 2 715 [(google.api.field_behavior) = REQUIRED]; 716} 717 718// Request message for ProvisionAccountTicket RPC. 719message ProvisionAccountTicketRequest { 720 // The account to create. 721 Account account = 1; 722 723 // Redirect URI where the user will be sent after accepting Terms of Service. 724 // Must be configured in Cloud Console as a Redirect URI. 725 string redirect_uri = 2; 726} 727 728// Response message for ProvisionAccountTicket RPC. 729message ProvisionAccountTicketResponse { 730 // The param to be passed in the ToS link. 731 string account_ticket_id = 1; 732} 733 734// Request message for GetProperty RPC. 735message GetPropertyRequest { 736 // Required. The name of the property to lookup. 737 // Format: properties/{property_id} 738 // Example: "properties/1000" 739 string name = 1 [ 740 (google.api.field_behavior) = REQUIRED, 741 (google.api.resource_reference) = { 742 type: "analyticsadmin.googleapis.com/Property" 743 } 744 ]; 745} 746 747// Request message for ListProperties RPC. 748message ListPropertiesRequest { 749 // Required. An expression for filtering the results of the request. 750 // Fields eligible for filtering are: 751 // `parent:`(The resource name of the parent account/property) or 752 // `ancestor:`(The resource name of the parent account) or 753 // `firebase_project:`(The id or number of the linked firebase project). 754 // Some examples of filters: 755 // 756 // ``` 757 // | Filter | Description | 758 // |-----------------------------|-------------------------------------------| 759 // | parent:accounts/123 | The account with account id: 123. | 760 // | parent:properties/123 | The property with property id: 123. | 761 // | ancestor:accounts/123 | The account with account id: 123. | 762 // | firebase_project:project-id | The firebase project with id: project-id. | 763 // | firebase_project:123 | The firebase project with number: 123. | 764 // ``` 765 string filter = 1 [(google.api.field_behavior) = REQUIRED]; 766 767 // The maximum number of resources to return. The service may return 768 // fewer than this value, even if there are additional pages. 769 // If unspecified, at most 50 resources will be returned. 770 // The maximum value is 200; (higher values will be coerced to the maximum) 771 int32 page_size = 2; 772 773 // A page token, received from a previous `ListProperties` call. 774 // Provide this to retrieve the subsequent page. 775 // When paginating, all other parameters provided to `ListProperties` must 776 // match the call that provided the page token. 777 string page_token = 3; 778 779 // Whether to include soft-deleted (ie: "trashed") Properties in the 780 // results. Properties can be inspected to determine whether they are deleted 781 // or not. 782 bool show_deleted = 4; 783} 784 785// Response message for ListProperties RPC. 786message ListPropertiesResponse { 787 // Results that matched the filter criteria and were accessible to the caller. 788 repeated Property properties = 1; 789 790 // A token, which can be sent as `page_token` to retrieve the next page. 791 // If this field is omitted, there are no subsequent pages. 792 string next_page_token = 2; 793} 794 795// Request message for UpdateProperty RPC. 796message UpdatePropertyRequest { 797 // Required. The property to update. 798 // The property's `name` field is used to identify the property to be 799 // updated. 800 Property property = 1 [(google.api.field_behavior) = REQUIRED]; 801 802 // Required. The list of fields to be updated. Field names must be in snake 803 // case (e.g., "field_to_update"). Omitted fields will not be updated. To 804 // replace the entire entity, use one path with the string "*" to match all 805 // fields. 806 google.protobuf.FieldMask update_mask = 2 807 [(google.api.field_behavior) = REQUIRED]; 808} 809 810// Request message for CreateProperty RPC. 811message CreatePropertyRequest { 812 // Required. The property to create. 813 // Note: the supplied property must specify its parent. 814 Property property = 1 [(google.api.field_behavior) = REQUIRED]; 815} 816 817// Request message for DeleteProperty RPC. 818message DeletePropertyRequest { 819 // Required. The name of the Property to soft-delete. 820 // Format: properties/{property_id} 821 // Example: "properties/1000" 822 string name = 1 [ 823 (google.api.field_behavior) = REQUIRED, 824 (google.api.resource_reference) = { 825 type: "analyticsadmin.googleapis.com/Property" 826 } 827 ]; 828} 829 830// Request message for CreateFirebaseLink RPC 831message CreateFirebaseLinkRequest { 832 // Required. Format: properties/{property_id} 833 // Example: properties/1234 834 string parent = 1 [ 835 (google.api.field_behavior) = REQUIRED, 836 (google.api.resource_reference) = { 837 child_type: "analyticsadmin.googleapis.com/FirebaseLink" 838 } 839 ]; 840 841 // Required. The Firebase link to create. 842 FirebaseLink firebase_link = 2 [(google.api.field_behavior) = REQUIRED]; 843} 844 845// Request message for DeleteFirebaseLink RPC 846message DeleteFirebaseLinkRequest { 847 // Required. Format: properties/{property_id}/firebaseLinks/{firebase_link_id} 848 // Example: properties/1234/firebaseLinks/5678 849 string name = 1 [ 850 (google.api.field_behavior) = REQUIRED, 851 (google.api.resource_reference) = { 852 type: "analyticsadmin.googleapis.com/FirebaseLink" 853 } 854 ]; 855} 856 857// Request message for ListFirebaseLinks RPC 858message ListFirebaseLinksRequest { 859 // Required. Format: properties/{property_id} 860 // Example: properties/1234 861 string parent = 1 [ 862 (google.api.field_behavior) = REQUIRED, 863 (google.api.resource_reference) = { 864 child_type: "analyticsadmin.googleapis.com/FirebaseLink" 865 } 866 ]; 867 868 // The maximum number of resources to return. The service may return 869 // fewer than this value, even if there are additional pages. 870 // If unspecified, at most 50 resources will be returned. 871 // The maximum value is 200; (higher values will be coerced to the maximum) 872 int32 page_size = 2; 873 874 // A page token, received from a previous `ListFirebaseLinks` call. 875 // Provide this to retrieve the subsequent page. 876 // When paginating, all other parameters provided to `ListFirebaseLinks` must 877 // match the call that provided the page token. 878 string page_token = 3; 879} 880 881// Response message for ListFirebaseLinks RPC 882message ListFirebaseLinksResponse { 883 // List of FirebaseLinks. This will have at most one value. 884 repeated FirebaseLink firebase_links = 1; 885 886 // A token, which can be sent as `page_token` to retrieve the next page. 887 // If this field is omitted, there are no subsequent pages. 888 // Currently, Google Analytics supports only one FirebaseLink per property, 889 // so this will never be populated. 890 string next_page_token = 2; 891} 892 893// Request message for CreateGoogleAdsLink RPC 894message CreateGoogleAdsLinkRequest { 895 // Required. Example format: properties/1234 896 string parent = 1 [ 897 (google.api.field_behavior) = REQUIRED, 898 (google.api.resource_reference) = { 899 child_type: "analyticsadmin.googleapis.com/GoogleAdsLink" 900 } 901 ]; 902 903 // Required. The GoogleAdsLink to create. 904 GoogleAdsLink google_ads_link = 2 [(google.api.field_behavior) = REQUIRED]; 905} 906 907// Request message for UpdateGoogleAdsLink RPC 908message UpdateGoogleAdsLinkRequest { 909 // The GoogleAdsLink to update 910 GoogleAdsLink google_ads_link = 1; 911 912 // Required. The list of fields to be updated. Field names must be in snake 913 // case (e.g., "field_to_update"). Omitted fields will not be updated. To 914 // replace the entire entity, use one path with the string "*" to match all 915 // fields. 916 google.protobuf.FieldMask update_mask = 2 917 [(google.api.field_behavior) = REQUIRED]; 918} 919 920// Request message for DeleteGoogleAdsLink RPC. 921message DeleteGoogleAdsLinkRequest { 922 // Required. Example format: properties/1234/googleAdsLinks/5678 923 string name = 1 [ 924 (google.api.field_behavior) = REQUIRED, 925 (google.api.resource_reference) = { 926 type: "analyticsadmin.googleapis.com/GoogleAdsLink" 927 } 928 ]; 929} 930 931// Request message for ListGoogleAdsLinks RPC. 932message ListGoogleAdsLinksRequest { 933 // Required. Example format: properties/1234 934 string parent = 1 [ 935 (google.api.field_behavior) = REQUIRED, 936 (google.api.resource_reference) = { 937 child_type: "analyticsadmin.googleapis.com/GoogleAdsLink" 938 } 939 ]; 940 941 // The maximum number of resources to return. 942 // If unspecified, at most 50 resources will be returned. 943 // The maximum value is 200 (higher values will be coerced to the maximum). 944 int32 page_size = 2; 945 946 // A page token, received from a previous `ListGoogleAdsLinks` call. 947 // Provide this to retrieve the subsequent page. 948 // 949 // When paginating, all other parameters provided to `ListGoogleAdsLinks` must 950 // match the call that provided the page token. 951 string page_token = 3; 952} 953 954// Response message for ListGoogleAdsLinks RPC. 955message ListGoogleAdsLinksResponse { 956 // List of GoogleAdsLinks. 957 repeated GoogleAdsLink google_ads_links = 1; 958 959 // A token, which can be sent as `page_token` to retrieve the next page. 960 // If this field is omitted, there are no subsequent pages. 961 string next_page_token = 2; 962} 963 964// Request message for GetDataSharingSettings RPC. 965message GetDataSharingSettingsRequest { 966 // Required. The name of the settings to lookup. 967 // Format: accounts/{account}/dataSharingSettings 968 // Example: "accounts/1000/dataSharingSettings" 969 string name = 1 [ 970 (google.api.field_behavior) = REQUIRED, 971 (google.api.resource_reference) = { 972 type: "analyticsadmin.googleapis.com/DataSharingSettings" 973 } 974 ]; 975} 976 977// Request message for ListAccountSummaries RPC. 978message ListAccountSummariesRequest { 979 // The maximum number of AccountSummary resources to return. The service may 980 // return fewer than this value, even if there are additional pages. 981 // If unspecified, at most 50 resources will be returned. 982 // The maximum value is 200; (higher values will be coerced to the maximum) 983 int32 page_size = 1; 984 985 // A page token, received from a previous `ListAccountSummaries` call. 986 // Provide this to retrieve the subsequent page. 987 // When paginating, all other parameters provided to `ListAccountSummaries` 988 // must match the call that provided the page token. 989 string page_token = 2; 990} 991 992// Response message for ListAccountSummaries RPC. 993message ListAccountSummariesResponse { 994 // Account summaries of all accounts the caller has access to. 995 repeated AccountSummary account_summaries = 1; 996 997 // A token, which can be sent as `page_token` to retrieve the next page. 998 // If this field is omitted, there are no subsequent pages. 999 string next_page_token = 2; 1000} 1001 1002// Request message for AcknowledgeUserDataCollection RPC. 1003message AcknowledgeUserDataCollectionRequest { 1004 // Required. The property for which to acknowledge user data collection. 1005 string property = 1 [ 1006 (google.api.field_behavior) = REQUIRED, 1007 (google.api.resource_reference) = { 1008 type: "analyticsadmin.googleapis.com/Property" 1009 } 1010 ]; 1011 1012 // Required. An acknowledgement that the caller of this method understands the 1013 // terms of user data collection. 1014 // 1015 // This field must contain the exact value: 1016 // "I acknowledge that I have the necessary privacy disclosures and rights 1017 // from my end users for the collection and processing of their data, 1018 // including the association of such data with the visitation information 1019 // Google Analytics collects from my site and/or app property." 1020 string acknowledgement = 2 [(google.api.field_behavior) = REQUIRED]; 1021} 1022 1023// Response message for AcknowledgeUserDataCollection RPC. 1024message AcknowledgeUserDataCollectionResponse {} 1025 1026// Request message for SearchChangeHistoryEvents RPC. 1027message SearchChangeHistoryEventsRequest { 1028 // Required. The account resource for which to return change history 1029 // resources. 1030 string account = 1 [ 1031 (google.api.field_behavior) = REQUIRED, 1032 (google.api.resource_reference) = { 1033 type: "analyticsadmin.googleapis.com/Account" 1034 } 1035 ]; 1036 1037 // Optional. Resource name for a child property. If set, only return changes 1038 // made to this property or its child resources. 1039 string property = 2 [ 1040 (google.api.field_behavior) = OPTIONAL, 1041 (google.api.resource_reference) = { 1042 type: "analyticsadmin.googleapis.com/Property" 1043 } 1044 ]; 1045 1046 // Optional. If set, only return changes if they are for a resource that 1047 // matches at least one of these types. 1048 repeated ChangeHistoryResourceType resource_type = 3 1049 [(google.api.field_behavior) = OPTIONAL]; 1050 1051 // Optional. If set, only return changes that match one or more of these types 1052 // of actions. 1053 repeated ActionType action = 4 [(google.api.field_behavior) = OPTIONAL]; 1054 1055 // Optional. If set, only return changes if they are made by a user in this 1056 // list. 1057 repeated string actor_email = 5 [(google.api.field_behavior) = OPTIONAL]; 1058 1059 // Optional. If set, only return changes made after this time (inclusive). 1060 google.protobuf.Timestamp earliest_change_time = 6 1061 [(google.api.field_behavior) = OPTIONAL]; 1062 1063 // Optional. If set, only return changes made before this time (inclusive). 1064 google.protobuf.Timestamp latest_change_time = 7 1065 [(google.api.field_behavior) = OPTIONAL]; 1066 1067 // Optional. The maximum number of ChangeHistoryEvent items to return. 1068 // The service may return fewer than this value, even if there are additional 1069 // pages. If unspecified, at most 50 items will be returned. 1070 // The maximum value is 200 (higher values will be coerced to the maximum). 1071 int32 page_size = 8 [(google.api.field_behavior) = OPTIONAL]; 1072 1073 // Optional. A page token, received from a previous 1074 // `SearchChangeHistoryEvents` call. Provide this to retrieve the subsequent 1075 // page. When paginating, all other parameters provided to 1076 // `SearchChangeHistoryEvents` must match the call that provided the page 1077 // token. 1078 string page_token = 9 [(google.api.field_behavior) = OPTIONAL]; 1079} 1080 1081// Response message for SearchAccounts RPC. 1082message SearchChangeHistoryEventsResponse { 1083 // Results that were accessible to the caller. 1084 repeated ChangeHistoryEvent change_history_events = 1; 1085 1086 // A token, which can be sent as `page_token` to retrieve the next page. 1087 // If this field is omitted, there are no subsequent pages. 1088 string next_page_token = 2; 1089} 1090 1091// Request message for GetMeasurementProtocolSecret RPC. 1092message GetMeasurementProtocolSecretRequest { 1093 // Required. The name of the measurement protocol secret to lookup. 1094 // Format: 1095 // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret} 1096 string name = 1 [ 1097 (google.api.field_behavior) = REQUIRED, 1098 (google.api.resource_reference) = { 1099 type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" 1100 } 1101 ]; 1102} 1103 1104// Request message for CreateMeasurementProtocolSecret RPC 1105message CreateMeasurementProtocolSecretRequest { 1106 // Required. The parent resource where this secret will be created. 1107 // Format: properties/{property}/dataStreams/{dataStream} 1108 string parent = 1 [ 1109 (google.api.field_behavior) = REQUIRED, 1110 (google.api.resource_reference) = { 1111 child_type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" 1112 } 1113 ]; 1114 1115 // Required. The measurement protocol secret to create. 1116 MeasurementProtocolSecret measurement_protocol_secret = 2 1117 [(google.api.field_behavior) = REQUIRED]; 1118} 1119 1120// Request message for DeleteMeasurementProtocolSecret RPC 1121message DeleteMeasurementProtocolSecretRequest { 1122 // Required. The name of the MeasurementProtocolSecret to delete. 1123 // Format: 1124 // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret} 1125 string name = 1 [ 1126 (google.api.field_behavior) = REQUIRED, 1127 (google.api.resource_reference) = { 1128 type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" 1129 } 1130 ]; 1131} 1132 1133// Request message for UpdateMeasurementProtocolSecret RPC 1134message UpdateMeasurementProtocolSecretRequest { 1135 // Required. The measurement protocol secret to update. 1136 MeasurementProtocolSecret measurement_protocol_secret = 1 1137 [(google.api.field_behavior) = REQUIRED]; 1138 1139 // Required. The list of fields to be updated. Omitted fields will not be 1140 // updated. 1141 google.protobuf.FieldMask update_mask = 2 1142 [(google.api.field_behavior) = REQUIRED]; 1143} 1144 1145// Request message for ListMeasurementProtocolSecret RPC 1146message ListMeasurementProtocolSecretsRequest { 1147 // Required. The resource name of the parent stream. 1148 // Format: 1149 // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets 1150 string parent = 1 [ 1151 (google.api.field_behavior) = REQUIRED, 1152 (google.api.resource_reference) = { 1153 child_type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" 1154 } 1155 ]; 1156 1157 // The maximum number of resources to return. 1158 // If unspecified, at most 10 resources will be returned. 1159 // The maximum value is 10. Higher values will be coerced to the maximum. 1160 int32 page_size = 2; 1161 1162 // A page token, received from a previous `ListMeasurementProtocolSecrets` 1163 // call. Provide this to retrieve the subsequent page. When paginating, all 1164 // other parameters provided to `ListMeasurementProtocolSecrets` must match 1165 // the call that provided the page token. 1166 string page_token = 3; 1167} 1168 1169// Response message for ListMeasurementProtocolSecret RPC 1170message ListMeasurementProtocolSecretsResponse { 1171 // A list of secrets for the parent stream specified in the request. 1172 repeated MeasurementProtocolSecret measurement_protocol_secrets = 1; 1173 1174 // A token, which can be sent as `page_token` to retrieve the next page. 1175 // If this field is omitted, there are no subsequent pages. 1176 string next_page_token = 2; 1177} 1178 1179// Request message for CreateConversionEvent RPC 1180message CreateConversionEventRequest { 1181 // Required. The conversion event to create. 1182 ConversionEvent conversion_event = 1 [(google.api.field_behavior) = REQUIRED]; 1183 1184 // Required. The resource name of the parent property where this conversion 1185 // event will be created. Format: properties/123 1186 string parent = 2 [ 1187 (google.api.field_behavior) = REQUIRED, 1188 (google.api.resource_reference) = { 1189 child_type: "analyticsadmin.googleapis.com/ConversionEvent" 1190 } 1191 ]; 1192} 1193 1194// Request message for UpdateConversionEvent RPC 1195message UpdateConversionEventRequest { 1196 // Required. The conversion event to update. 1197 // The `name` field is used to identify the settings to be updated. 1198 ConversionEvent conversion_event = 1 [(google.api.field_behavior) = REQUIRED]; 1199 1200 // Required. The list of fields to be updated. Field names must be in snake 1201 // case (e.g., "field_to_update"). Omitted fields will not be updated. To 1202 // replace the entire entity, use one path with the string "*" to match all 1203 // fields. 1204 google.protobuf.FieldMask update_mask = 2 1205 [(google.api.field_behavior) = REQUIRED]; 1206} 1207 1208// Request message for GetConversionEvent RPC 1209message GetConversionEventRequest { 1210 // Required. The resource name of the conversion event to retrieve. 1211 // Format: properties/{property}/conversionEvents/{conversion_event} 1212 // Example: "properties/123/conversionEvents/456" 1213 string name = 1 [ 1214 (google.api.field_behavior) = REQUIRED, 1215 (google.api.resource_reference) = { 1216 type: "analyticsadmin.googleapis.com/ConversionEvent" 1217 } 1218 ]; 1219} 1220 1221// Request message for DeleteConversionEvent RPC 1222message DeleteConversionEventRequest { 1223 // Required. The resource name of the conversion event to delete. 1224 // Format: properties/{property}/conversionEvents/{conversion_event} 1225 // Example: "properties/123/conversionEvents/456" 1226 string name = 1 [ 1227 (google.api.field_behavior) = REQUIRED, 1228 (google.api.resource_reference) = { 1229 type: "analyticsadmin.googleapis.com/ConversionEvent" 1230 } 1231 ]; 1232} 1233 1234// Request message for ListConversionEvents RPC 1235message ListConversionEventsRequest { 1236 // Required. The resource name of the parent property. 1237 // Example: 'properties/123' 1238 string parent = 1 [ 1239 (google.api.field_behavior) = REQUIRED, 1240 (google.api.resource_reference) = { 1241 child_type: "analyticsadmin.googleapis.com/ConversionEvent" 1242 } 1243 ]; 1244 1245 // The maximum number of resources to return. 1246 // If unspecified, at most 50 resources will be returned. 1247 // The maximum value is 200; (higher values will be coerced to the maximum) 1248 int32 page_size = 2; 1249 1250 // A page token, received from a previous `ListConversionEvents` call. 1251 // Provide this to retrieve the subsequent page. 1252 // When paginating, all other parameters provided to `ListConversionEvents` 1253 // must match the call that provided the page token. 1254 string page_token = 3; 1255} 1256 1257// Response message for ListConversionEvents RPC. 1258message ListConversionEventsResponse { 1259 // The requested conversion events 1260 repeated ConversionEvent conversion_events = 1; 1261 1262 // A token, which can be sent as `page_token` to retrieve the next page. 1263 // If this field is omitted, there are no subsequent pages. 1264 string next_page_token = 2; 1265} 1266 1267// Request message for CreateCustomDimension RPC. 1268message CreateCustomDimensionRequest { 1269 // Required. Example format: properties/1234 1270 string parent = 1 [ 1271 (google.api.field_behavior) = REQUIRED, 1272 (google.api.resource_reference) = { 1273 child_type: "analyticsadmin.googleapis.com/CustomDimension" 1274 } 1275 ]; 1276 1277 // Required. The CustomDimension to create. 1278 CustomDimension custom_dimension = 2 [(google.api.field_behavior) = REQUIRED]; 1279} 1280 1281// Request message for UpdateCustomDimension RPC. 1282message UpdateCustomDimensionRequest { 1283 // The CustomDimension to update 1284 CustomDimension custom_dimension = 1; 1285 1286 // Required. The list of fields to be updated. Omitted fields will not be 1287 // updated. To replace the entire entity, use one path with the string "*" to 1288 // match all fields. 1289 google.protobuf.FieldMask update_mask = 2 1290 [(google.api.field_behavior) = REQUIRED]; 1291} 1292 1293// Request message for ListCustomDimensions RPC. 1294message ListCustomDimensionsRequest { 1295 // Required. Example format: properties/1234 1296 string parent = 1 [ 1297 (google.api.field_behavior) = REQUIRED, 1298 (google.api.resource_reference) = { 1299 child_type: "analyticsadmin.googleapis.com/CustomDimension" 1300 } 1301 ]; 1302 1303 // The maximum number of resources to return. 1304 // If unspecified, at most 50 resources will be returned. 1305 // The maximum value is 200 (higher values will be coerced to the maximum). 1306 int32 page_size = 2; 1307 1308 // A page token, received from a previous `ListCustomDimensions` call. 1309 // Provide this to retrieve the subsequent page. 1310 // 1311 // When paginating, all other parameters provided to `ListCustomDimensions` 1312 // must match the call that provided the page token. 1313 string page_token = 3; 1314} 1315 1316// Response message for ListCustomDimensions RPC. 1317message ListCustomDimensionsResponse { 1318 // List of CustomDimensions. 1319 repeated CustomDimension custom_dimensions = 1; 1320 1321 // A token, which can be sent as `page_token` to retrieve the next page. 1322 // If this field is omitted, there are no subsequent pages. 1323 string next_page_token = 2; 1324} 1325 1326// Request message for ArchiveCustomDimension RPC. 1327message ArchiveCustomDimensionRequest { 1328 // Required. The name of the CustomDimension to archive. 1329 // Example format: properties/1234/customDimensions/5678 1330 string name = 1 [ 1331 (google.api.field_behavior) = REQUIRED, 1332 (google.api.resource_reference) = { 1333 type: "analyticsadmin.googleapis.com/CustomDimension" 1334 } 1335 ]; 1336} 1337 1338// Request message for GetCustomDimension RPC. 1339message GetCustomDimensionRequest { 1340 // Required. The name of the CustomDimension to get. 1341 // Example format: properties/1234/customDimensions/5678 1342 string name = 1 [ 1343 (google.api.field_behavior) = REQUIRED, 1344 (google.api.resource_reference) = { 1345 type: "analyticsadmin.googleapis.com/CustomDimension" 1346 } 1347 ]; 1348} 1349 1350// Request message for CreateCustomMetric RPC. 1351message CreateCustomMetricRequest { 1352 // Required. Example format: properties/1234 1353 string parent = 1 [ 1354 (google.api.field_behavior) = REQUIRED, 1355 (google.api.resource_reference) = { 1356 child_type: "analyticsadmin.googleapis.com/CustomMetric" 1357 } 1358 ]; 1359 1360 // Required. The CustomMetric to create. 1361 CustomMetric custom_metric = 2 [(google.api.field_behavior) = REQUIRED]; 1362} 1363 1364// Request message for UpdateCustomMetric RPC. 1365message UpdateCustomMetricRequest { 1366 // The CustomMetric to update 1367 CustomMetric custom_metric = 1; 1368 1369 // Required. The list of fields to be updated. Omitted fields will not be 1370 // updated. To replace the entire entity, use one path with the string "*" to 1371 // match all fields. 1372 google.protobuf.FieldMask update_mask = 2 1373 [(google.api.field_behavior) = REQUIRED]; 1374} 1375 1376// Request message for ListCustomMetrics RPC. 1377message ListCustomMetricsRequest { 1378 // Required. Example format: properties/1234 1379 string parent = 1 [ 1380 (google.api.field_behavior) = REQUIRED, 1381 (google.api.resource_reference) = { 1382 child_type: "analyticsadmin.googleapis.com/CustomMetric" 1383 } 1384 ]; 1385 1386 // The maximum number of resources to return. 1387 // If unspecified, at most 50 resources will be returned. 1388 // The maximum value is 200 (higher values will be coerced to the maximum). 1389 int32 page_size = 2; 1390 1391 // A page token, received from a previous `ListCustomMetrics` call. 1392 // Provide this to retrieve the subsequent page. 1393 // 1394 // When paginating, all other parameters provided to `ListCustomMetrics` must 1395 // match the call that provided the page token. 1396 string page_token = 3; 1397} 1398 1399// Response message for ListCustomMetrics RPC. 1400message ListCustomMetricsResponse { 1401 // List of CustomMetrics. 1402 repeated CustomMetric custom_metrics = 1; 1403 1404 // A token, which can be sent as `page_token` to retrieve the next page. 1405 // If this field is omitted, there are no subsequent pages. 1406 string next_page_token = 2; 1407} 1408 1409// Request message for ArchiveCustomMetric RPC. 1410message ArchiveCustomMetricRequest { 1411 // Required. The name of the CustomMetric to archive. 1412 // Example format: properties/1234/customMetrics/5678 1413 string name = 1 [ 1414 (google.api.field_behavior) = REQUIRED, 1415 (google.api.resource_reference) = { 1416 type: "analyticsadmin.googleapis.com/CustomMetric" 1417 } 1418 ]; 1419} 1420 1421// Request message for GetCustomMetric RPC. 1422message GetCustomMetricRequest { 1423 // Required. The name of the CustomMetric to get. 1424 // Example format: properties/1234/customMetrics/5678 1425 string name = 1 [ 1426 (google.api.field_behavior) = REQUIRED, 1427 (google.api.resource_reference) = { 1428 type: "analyticsadmin.googleapis.com/CustomMetric" 1429 } 1430 ]; 1431} 1432 1433// Request message for GetDataRetentionSettings RPC. 1434message GetDataRetentionSettingsRequest { 1435 // Required. The name of the settings to lookup. 1436 // Format: 1437 // properties/{property}/dataRetentionSettings 1438 // Example: "properties/1000/dataRetentionSettings" 1439 string name = 1 [ 1440 (google.api.field_behavior) = REQUIRED, 1441 (google.api.resource_reference) = { 1442 type: "analyticsadmin.googleapis.com/DataRetentionSettings" 1443 } 1444 ]; 1445} 1446 1447// Request message for UpdateDataRetentionSettings RPC. 1448message UpdateDataRetentionSettingsRequest { 1449 // Required. The settings to update. 1450 // The `name` field is used to identify the settings to be updated. 1451 DataRetentionSettings data_retention_settings = 1 1452 [(google.api.field_behavior) = REQUIRED]; 1453 1454 // Required. The list of fields to be updated. Field names must be in snake 1455 // case (e.g., "field_to_update"). Omitted fields will not be updated. To 1456 // replace the entire entity, use one path with the string "*" to match all 1457 // fields. 1458 google.protobuf.FieldMask update_mask = 2 1459 [(google.api.field_behavior) = REQUIRED]; 1460} 1461 1462// Request message for CreateDataStream RPC. 1463message CreateDataStreamRequest { 1464 // Required. Example format: properties/1234 1465 string parent = 1 [ 1466 (google.api.field_behavior) = REQUIRED, 1467 (google.api.resource_reference) = { 1468 child_type: "analyticsadmin.googleapis.com/DataStream" 1469 } 1470 ]; 1471 1472 // Required. The DataStream to create. 1473 DataStream data_stream = 2 [(google.api.field_behavior) = REQUIRED]; 1474} 1475 1476// Request message for DeleteDataStream RPC. 1477message DeleteDataStreamRequest { 1478 // Required. The name of the DataStream to delete. 1479 // Example format: properties/1234/dataStreams/5678 1480 string name = 1 [ 1481 (google.api.field_behavior) = REQUIRED, 1482 (google.api.resource_reference) = { 1483 type: "analyticsadmin.googleapis.com/DataStream" 1484 } 1485 ]; 1486} 1487 1488// Request message for UpdateDataStream RPC. 1489message UpdateDataStreamRequest { 1490 // The DataStream to update 1491 DataStream data_stream = 1; 1492 1493 // Required. The list of fields to be updated. Omitted fields will not be 1494 // updated. To replace the entire entity, use one path with the string "*" to 1495 // match all fields. 1496 google.protobuf.FieldMask update_mask = 2 1497 [(google.api.field_behavior) = REQUIRED]; 1498} 1499 1500// Request message for ListDataStreams RPC. 1501message ListDataStreamsRequest { 1502 // Required. Example format: properties/1234 1503 string parent = 1 [ 1504 (google.api.field_behavior) = REQUIRED, 1505 (google.api.resource_reference) = { 1506 child_type: "analyticsadmin.googleapis.com/DataStream" 1507 } 1508 ]; 1509 1510 // The maximum number of resources to return. 1511 // If unspecified, at most 50 resources will be returned. 1512 // The maximum value is 200 (higher values will be coerced to the maximum). 1513 int32 page_size = 2; 1514 1515 // A page token, received from a previous `ListDataStreams` call. 1516 // Provide this to retrieve the subsequent page. 1517 // 1518 // When paginating, all other parameters provided to `ListDataStreams` must 1519 // match the call that provided the page token. 1520 string page_token = 3; 1521} 1522 1523// Response message for ListDataStreams RPC. 1524message ListDataStreamsResponse { 1525 // List of DataStreams. 1526 repeated DataStream data_streams = 1; 1527 1528 // A token, which can be sent as `page_token` to retrieve the next page. 1529 // If this field is omitted, there are no subsequent pages. 1530 string next_page_token = 2; 1531} 1532 1533// Request message for GetDataStream RPC. 1534message GetDataStreamRequest { 1535 // Required. The name of the DataStream to get. 1536 // Example format: properties/1234/dataStreams/5678 1537 string name = 1 [ 1538 (google.api.field_behavior) = REQUIRED, 1539 (google.api.resource_reference) = { 1540 type: "analyticsadmin.googleapis.com/DataStream" 1541 } 1542 ]; 1543} 1544