@@ -1579,6 +1579,64 @@ service AnalyticsAdminService {
15791579 };
15801580 option (google.api.method_signature ) = "name" ;
15811581 }
1582+
1583+ // Creates a Reporting Data Annotation.
1584+ rpc CreateReportingDataAnnotation (CreateReportingDataAnnotationRequest )
1585+ returns (ReportingDataAnnotation ) {
1586+ option (google.api.http ) = {
1587+ post : "/v1alpha/{parent=properties/*}/reportingDataAnnotations"
1588+ body : "reporting_data_annotation"
1589+ };
1590+ option (google.api.method_signature ) = "parent,reporting_data_annotation" ;
1591+ }
1592+
1593+ // Lookup a single Reporting Data Annotation.
1594+ rpc GetReportingDataAnnotation (GetReportingDataAnnotationRequest )
1595+ returns (ReportingDataAnnotation ) {
1596+ option (google.api.http ) = {
1597+ get : "/v1alpha/{name=properties/*/reportingDataAnnotations/*}"
1598+ };
1599+ option (google.api.method_signature ) = "name" ;
1600+ }
1601+
1602+ // List all Reporting Data Annotations on a property.
1603+ rpc ListReportingDataAnnotations (ListReportingDataAnnotationsRequest )
1604+ returns (ListReportingDataAnnotationsResponse ) {
1605+ option (google.api.http ) = {
1606+ get : "/v1alpha/{parent=properties/*}/reportingDataAnnotations"
1607+ };
1608+ option (google.api.method_signature ) = "parent" ;
1609+ }
1610+
1611+ // Updates a Reporting Data Annotation.
1612+ rpc UpdateReportingDataAnnotation (UpdateReportingDataAnnotationRequest )
1613+ returns (ReportingDataAnnotation ) {
1614+ option (google.api.http ) = {
1615+ patch : "/v1alpha/{reporting_data_annotation.name=properties/*/reportingDataAnnotations/*}"
1616+ body : "reporting_data_annotation"
1617+ };
1618+ option (google.api.method_signature ) =
1619+ "reporting_data_annotation,update_mask" ;
1620+ }
1621+
1622+ // Deletes a Reporting Data Annotation.
1623+ rpc DeleteReportingDataAnnotation (DeleteReportingDataAnnotationRequest )
1624+ returns (google.protobuf.Empty ) {
1625+ option (google.api.http ) = {
1626+ delete : "/v1alpha/{name=properties/*/reportingDataAnnotations/*}"
1627+ };
1628+ option (google.api.method_signature ) = "name" ;
1629+ }
1630+
1631+ // Submits a request for user deletion for a property.
1632+ rpc SubmitUserDeletion (SubmitUserDeletionRequest )
1633+ returns (SubmitUserDeletionResponse ) {
1634+ option (google.api.http ) = {
1635+ post : "/v1alpha/{name=properties/*}:submitUserDeletion"
1636+ body : "*"
1637+ };
1638+ option (google.api.method_signature ) = "name" ;
1639+ }
15821640}
15831641
15841642// The request for a Data Access Record Report.
@@ -4422,3 +4480,182 @@ message DeleteSubpropertyEventFilterRequest {
44224480 }
44234481 ];
44244482}
4483+
4484+ // Request message for CreateReportingDataAnnotation RPC.
4485+ message CreateReportingDataAnnotationRequest {
4486+ // Required. The property for which to create a Reporting Data Annotation.
4487+ // Format: properties/property_id
4488+ // Example: properties/123
4489+ string parent = 1 [
4490+ (google.api.field_behavior ) = REQUIRED ,
4491+ (google.api.resource_reference ) = {
4492+ child_type : "analyticsadmin.googleapis.com/ReportingDataAnnotation"
4493+ }
4494+ ];
4495+
4496+ // Required. The Reporting Data Annotation to create.
4497+ ReportingDataAnnotation reporting_data_annotation = 2
4498+ [(google.api.field_behavior ) = REQUIRED ];
4499+ }
4500+
4501+ // Request message for GetReportingDataAnnotation RPC.
4502+ message GetReportingDataAnnotationRequest {
4503+ // Required. Resource name of the Reporting Data Annotation to lookup.
4504+ // Format:
4505+ // properties/property_id/reportingDataAnnotations/reportingDataAnnotation
4506+ // Example: properties/123/reportingDataAnnotations/456
4507+ string name = 1 [
4508+ (google.api.field_behavior ) = REQUIRED ,
4509+ (google.api.resource_reference ) = {
4510+ type : "analyticsadmin.googleapis.com/ReportingDataAnnotation"
4511+ }
4512+ ];
4513+ }
4514+
4515+ // Request message for ListReportingDataAnnotation RPC.
4516+ message ListReportingDataAnnotationsRequest {
4517+ // Required. Resource name of the property.
4518+ // Format: properties/property_id
4519+ // Example: properties/123
4520+ string parent = 1 [
4521+ (google.api.field_behavior ) = REQUIRED ,
4522+ (google.api.resource_reference ) = {
4523+ child_type : "analyticsadmin.googleapis.com/ReportingDataAnnotation"
4524+ }
4525+ ];
4526+
4527+ // Optional. Filter that restricts which reporting data annotations under the
4528+ // parent property are listed.
4529+ //
4530+ // Supported fields are:
4531+ //
4532+ // * 'name'
4533+ // * `title`
4534+ // * `description`
4535+ // * `annotation_date`
4536+ // * `annotation_date_range`
4537+ // * `color`
4538+ //
4539+ // Additionally, this API provides the following helper functions:
4540+ //
4541+ // * annotation_duration() : the duration that this annotation marks,
4542+ // [durations](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/duration.proto).
4543+ // expect a numeric representation of seconds followed by an `s` suffix.
4544+ // * is_annotation_in_range(start_date, end_date) : if the annotation is in
4545+ // the range specified by the `start_date` and `end_date`. The dates are in
4546+ // ISO-8601 format, for example `2031-06-28`.
4547+ //
4548+ // Supported operations:
4549+ //
4550+ // * `=` : equals
4551+ // * `!=` : not equals
4552+ // * `<` : less than
4553+ // * `>` : greater than
4554+ // * `<=` : less than or equals
4555+ // * `>=` : greater than or equals
4556+ // * `:` : has operator
4557+ // * `=~` : [regular expression](https://github.com/google/re2/wiki/Syntax)
4558+ // match
4559+ // * `!~` : [regular expression](https://github.com/google/re2/wiki/Syntax)
4560+ // does not match
4561+ // * `NOT` : Logical not
4562+ // * `AND` : Logical and
4563+ // * `OR` : Logical or
4564+ //
4565+ // Examples:
4566+ //
4567+ // 1. `title="Holiday Sale"`
4568+ // 2. `description=~"[Bb]ig [Gg]ame.*[Ss]ale"`
4569+ // 3. `is_annotation_in_range("2025-12-25", "2026-01-16") = true`
4570+ // 4. `annotation_duration() >= 172800s AND title:BOGO`
4571+ string filter = 2 [(google.api.field_behavior ) = OPTIONAL ];
4572+
4573+ // Optional. The maximum number of resources to return. The service may return
4574+ // fewer than this value, even if there are additional pages. If unspecified,
4575+ // at most 50 resources will be returned. The maximum value is 200; (higher
4576+ // values will be coerced to the maximum)
4577+ int32 page_size = 3 [(google.api.field_behavior ) = OPTIONAL ];
4578+
4579+ // Optional. A page token, received from a previous
4580+ // `ListReportingDataAnnotations` call. Provide this to retrieve the
4581+ // subsequent page. When paginating, all other parameters provided to
4582+ // `ListReportingDataAnnotations` must match the call that provided the page
4583+ // token.
4584+ string page_token = 4 [(google.api.field_behavior ) = OPTIONAL ];
4585+ }
4586+
4587+ // Response message for ListReportingDataAnnotation RPC.
4588+ message ListReportingDataAnnotationsResponse {
4589+ // List of Reporting Data Annotations.
4590+ repeated ReportingDataAnnotation reporting_data_annotations = 1 ;
4591+
4592+ // A token, which can be sent as `page_token` to retrieve the next page. If
4593+ // this field is omitted, there are no subsequent pages.
4594+ string next_page_token = 2 ;
4595+ }
4596+
4597+ // Request message for UpdateReportingDataAnnotation RPC.
4598+ message UpdateReportingDataAnnotationRequest {
4599+ // Required. The Reporting Data Annotation to update.
4600+ ReportingDataAnnotation reporting_data_annotation = 1
4601+ [(google.api.field_behavior ) = REQUIRED ];
4602+
4603+ // Optional. The list of fields to update. Field names must be in snake case
4604+ // (for example, "field_to_update"). Omitted fields will not be updated. To
4605+ // replace the entire entity, use one path with the string "*" to match all
4606+ // fields.
4607+ google.protobuf.FieldMask update_mask = 2
4608+ [(google.api.field_behavior ) = OPTIONAL ];
4609+ }
4610+
4611+ // Request message for DeleteReportingDataAnnotation RPC.
4612+ message DeleteReportingDataAnnotationRequest {
4613+ // Required. Resource name of the Reporting Data Annotation to delete.
4614+ // Format:
4615+ // properties/property_id/reportingDataAnnotations/reporting_data_annotation
4616+ // Example: properties/123/reportingDataAnnotations/456
4617+ string name = 1 [
4618+ (google.api.field_behavior ) = REQUIRED ,
4619+ (google.api.resource_reference ) = {
4620+ type : "analyticsadmin.googleapis.com/ReportingDataAnnotation"
4621+ }
4622+ ];
4623+ }
4624+
4625+ // Request message for SubmitUserDeletion RPC.
4626+ message SubmitUserDeletionRequest {
4627+ // The user to submit a deletion request for
4628+ oneof user {
4629+ // Google Analytics [user
4630+ // ID](https://firebase.google.com/docs/analytics/userid).
4631+ string user_id = 2 ;
4632+
4633+ // Google Analytics [client
4634+ // ID](https://support.google.com/analytics/answer/11593727).
4635+ string client_id = 3 ;
4636+
4637+ // Firebase [application instance
4638+ // ID](https://firebase.google.com/docs/reference/android/com/google/firebase/analytics/FirebaseAnalytics.html#getAppInstanceId).
4639+ string app_instance_id = 4 ;
4640+
4641+ // The un-hashed, unencrypted, [user-provided
4642+ // data](https://support.google.com/analytics/answer/14077171).
4643+ string user_provided_data = 5 ;
4644+ }
4645+
4646+ // Required. The name of the property to submit user deletion for.
4647+ string name = 1 [
4648+ (google.api.field_behavior ) = REQUIRED ,
4649+ (google.api.resource_reference ) = {
4650+ type : "analyticsadmin.googleapis.com/Property"
4651+ }
4652+ ];
4653+ }
4654+
4655+ // Response message for SubmitUserDeletion RPC.
4656+ message SubmitUserDeletionResponse {
4657+ // Marks the moment for which all visitor data before this point should be
4658+ // deleted. This is set to the time at which the deletion request was
4659+ // received.
4660+ google.protobuf.Timestamp deletion_request_time = 1 ;
4661+ }
0 commit comments