// Copyright 2024 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 // // https://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. // Generated code. DO NOT EDIT! namespace Google.Apis.AnalyticsData.v1beta { /// The AnalyticsData Service. public class AnalyticsDataService : Google.Apis.Services.BaseClientService { /// The API version. public const string Version = "v1beta"; /// The discovery version used to generate this service. public static Google.Apis.Discovery.DiscoveryVersion DiscoveryVersionUsed = Google.Apis.Discovery.DiscoveryVersion.Version_1_0; /// Constructs a new service. public AnalyticsDataService() : this(new Google.Apis.Services.BaseClientService.Initializer()) { } /// Constructs a new service. /// The service initializer. public AnalyticsDataService(Google.Apis.Services.BaseClientService.Initializer initializer) : base(initializer) { Properties = new PropertiesResource(this); BaseUri = GetEffectiveUri(BaseUriOverride, "https://analyticsdata.googleapis.com/"); BatchUri = GetEffectiveUri(null, "https://analyticsdata.googleapis.com/batch"); } /// Gets the service supported features. public override System.Collections.Generic.IList Features => new string[0]; /// Gets the service name. public override string Name => "analyticsdata"; /// Gets the service base URI. public override string BaseUri { get; } /// Gets the service base path. public override string BasePath => ""; /// Gets the batch base URI; null if unspecified. public override string BatchUri { get; } /// Gets the batch base path; null if unspecified. public override string BatchPath => "batch"; /// Available OAuth 2.0 scopes for use with the Google Analytics Data API. public class Scope { /// View and manage your Google Analytics data public static string Analytics = "https://www.googleapis.com/auth/analytics"; /// See and download your Google Analytics data public static string AnalyticsReadonly = "https://www.googleapis.com/auth/analytics.readonly"; } /// Available OAuth 2.0 scope constants for use with the Google Analytics Data API. public static class ScopeConstants { /// View and manage your Google Analytics data public const string Analytics = "https://www.googleapis.com/auth/analytics"; /// See and download your Google Analytics data public const string AnalyticsReadonly = "https://www.googleapis.com/auth/analytics.readonly"; } /// Gets the Properties resource. public virtual PropertiesResource Properties { get; } } /// A base abstract class for AnalyticsData requests. public abstract class AnalyticsDataBaseServiceRequest : Google.Apis.Requests.ClientServiceRequest { /// Constructs a new AnalyticsDataBaseServiceRequest instance. protected AnalyticsDataBaseServiceRequest(Google.Apis.Services.IClientService service) : base(service) { } /// V1 error format. [Google.Apis.Util.RequestParameterAttribute("$.xgafv", Google.Apis.Util.RequestParameterType.Query)] public virtual System.Nullable Xgafv { get; set; } /// V1 error format. public enum XgafvEnum { /// v1 error format [Google.Apis.Util.StringValueAttribute("1")] Value1 = 0, /// v2 error format [Google.Apis.Util.StringValueAttribute("2")] Value2 = 1, } /// OAuth access token. [Google.Apis.Util.RequestParameterAttribute("access_token", Google.Apis.Util.RequestParameterType.Query)] public virtual string AccessToken { get; set; } /// Data format for response. [Google.Apis.Util.RequestParameterAttribute("alt", Google.Apis.Util.RequestParameterType.Query)] public virtual System.Nullable Alt { get; set; } /// Data format for response. public enum AltEnum { /// Responses with Content-Type of application/json [Google.Apis.Util.StringValueAttribute("json")] Json = 0, /// Media download with context-dependent Content-Type [Google.Apis.Util.StringValueAttribute("media")] Media = 1, /// Responses with Content-Type of application/x-protobuf [Google.Apis.Util.StringValueAttribute("proto")] Proto = 2, } /// JSONP [Google.Apis.Util.RequestParameterAttribute("callback", Google.Apis.Util.RequestParameterType.Query)] public virtual string Callback { get; set; } /// Selector specifying which fields to include in a partial response. [Google.Apis.Util.RequestParameterAttribute("fields", Google.Apis.Util.RequestParameterType.Query)] public virtual string Fields { get; set; } /// /// API key. Your API key identifies your project and provides you with API access, quota, and reports. Required /// unless you provide an OAuth 2.0 token. /// [Google.Apis.Util.RequestParameterAttribute("key", Google.Apis.Util.RequestParameterType.Query)] public virtual string Key { get; set; } /// OAuth 2.0 token for the current user. [Google.Apis.Util.RequestParameterAttribute("oauth_token", Google.Apis.Util.RequestParameterType.Query)] public virtual string OauthToken { get; set; } /// Returns response with indentations and line breaks. [Google.Apis.Util.RequestParameterAttribute("prettyPrint", Google.Apis.Util.RequestParameterType.Query)] public virtual System.Nullable PrettyPrint { get; set; } /// /// Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a /// user, but should not exceed 40 characters. /// [Google.Apis.Util.RequestParameterAttribute("quotaUser", Google.Apis.Util.RequestParameterType.Query)] public virtual string QuotaUser { get; set; } /// Legacy upload protocol for media (e.g. "media", "multipart"). [Google.Apis.Util.RequestParameterAttribute("uploadType", Google.Apis.Util.RequestParameterType.Query)] public virtual string UploadType { get; set; } /// Upload protocol for media (e.g. "raw", "multipart"). [Google.Apis.Util.RequestParameterAttribute("upload_protocol", Google.Apis.Util.RequestParameterType.Query)] public virtual string UploadProtocol { get; set; } /// Initializes AnalyticsData parameter list. protected override void InitParameters() { base.InitParameters(); RequestParameters.Add("$.xgafv", new Google.Apis.Discovery.Parameter { Name = "$.xgafv", IsRequired = false, ParameterType = "query", DefaultValue = null, Pattern = null, }); RequestParameters.Add("access_token", new Google.Apis.Discovery.Parameter { Name = "access_token", IsRequired = false, ParameterType = "query", DefaultValue = null, Pattern = null, }); RequestParameters.Add("alt", new Google.Apis.Discovery.Parameter { Name = "alt", IsRequired = false, ParameterType = "query", DefaultValue = "json", Pattern = null, }); RequestParameters.Add("callback", new Google.Apis.Discovery.Parameter { Name = "callback", IsRequired = false, ParameterType = "query", DefaultValue = null, Pattern = null, }); RequestParameters.Add("fields", new Google.Apis.Discovery.Parameter { Name = "fields", IsRequired = false, ParameterType = "query", DefaultValue = null, Pattern = null, }); RequestParameters.Add("key", new Google.Apis.Discovery.Parameter { Name = "key", IsRequired = false, ParameterType = "query", DefaultValue = null, Pattern = null, }); RequestParameters.Add("oauth_token", new Google.Apis.Discovery.Parameter { Name = "oauth_token", IsRequired = false, ParameterType = "query", DefaultValue = null, Pattern = null, }); RequestParameters.Add("prettyPrint", new Google.Apis.Discovery.Parameter { Name = "prettyPrint", IsRequired = false, ParameterType = "query", DefaultValue = "true", Pattern = null, }); RequestParameters.Add("quotaUser", new Google.Apis.Discovery.Parameter { Name = "quotaUser", IsRequired = false, ParameterType = "query", DefaultValue = null, Pattern = null, }); RequestParameters.Add("uploadType", new Google.Apis.Discovery.Parameter { Name = "uploadType", IsRequired = false, ParameterType = "query", DefaultValue = null, Pattern = null, }); RequestParameters.Add("upload_protocol", new Google.Apis.Discovery.Parameter { Name = "upload_protocol", IsRequired = false, ParameterType = "query", DefaultValue = null, Pattern = null, }); } } /// The "properties" collection of methods. public class PropertiesResource { private const string Resource = "properties"; /// The service which this resource belongs to. private readonly Google.Apis.Services.IClientService service; /// Constructs a new resource. public PropertiesResource(Google.Apis.Services.IClientService service) { this.service = service; AudienceExports = new AudienceExportsResource(service); } /// Gets the AudienceExports resource. public virtual AudienceExportsResource AudienceExports { get; } /// The "audienceExports" collection of methods. public class AudienceExportsResource { private const string Resource = "audienceExports"; /// The service which this resource belongs to. private readonly Google.Apis.Services.IClientService service; /// Constructs a new resource. public AudienceExportsResource(Google.Apis.Services.IClientService service) { this.service = service; } /// /// Creates an audience export for later retrieval. This method quickly returns the audience export's /// resource name and initiates a long running asynchronous request to form an audience export. To export /// the users in an audience export, first create the audience export through this method and then send the /// audience resource name to the `QueryAudienceExport` method. See [Creating an Audience /// Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an /// introduction to Audience Exports with examples. An audience export is a snapshot of the users currently /// in the audience at the time of audience export creation. Creating audience exports for one audience on /// different days will return different results as users enter and exit the audience. Audiences in Google /// Analytics 4 allow you to segment your users in the ways that are important to your business. To learn /// more, see https://support.google.com/analytics/answer/9267572. Audience exports contain the users in /// each audience. Audience Export APIs have some methods at alpha and other methods at beta stability. The /// intention is to advance methods to beta stability after some feedback and adoption. To give your /// feedback on this API, complete the [Google Analytics Audience Export API /// Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form. /// /// The body of the request. /// /// Required. The parent resource where this audience export will be created. Format: /// `properties/{property}` /// public virtual CreateRequest Create(Google.Apis.AnalyticsData.v1beta.Data.AudienceExport body, string parent) { return new CreateRequest(this.service, body, parent); } /// /// Creates an audience export for later retrieval. This method quickly returns the audience export's /// resource name and initiates a long running asynchronous request to form an audience export. To export /// the users in an audience export, first create the audience export through this method and then send the /// audience resource name to the `QueryAudienceExport` method. See [Creating an Audience /// Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an /// introduction to Audience Exports with examples. An audience export is a snapshot of the users currently /// in the audience at the time of audience export creation. Creating audience exports for one audience on /// different days will return different results as users enter and exit the audience. Audiences in Google /// Analytics 4 allow you to segment your users in the ways that are important to your business. To learn /// more, see https://support.google.com/analytics/answer/9267572. Audience exports contain the users in /// each audience. Audience Export APIs have some methods at alpha and other methods at beta stability. The /// intention is to advance methods to beta stability after some feedback and adoption. To give your /// feedback on this API, complete the [Google Analytics Audience Export API /// Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form. /// public class CreateRequest : AnalyticsDataBaseServiceRequest { /// Constructs a new Create request. public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.AnalyticsData.v1beta.Data.AudienceExport body, string parent) : base(service) { Parent = parent; Body = body; InitParameters(); } /// /// Required. The parent resource where this audience export will be created. Format: /// `properties/{property}` /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } /// Gets or sets the body of this request. Google.Apis.AnalyticsData.v1beta.Data.AudienceExport Body { get; set; } /// Returns the body of the request. protected override object GetBody() => Body; /// Gets the method name. public override string MethodName => "create"; /// Gets the HTTP method. public override string HttpMethod => "POST"; /// Gets the REST path. public override string RestPath => "v1beta/{+parent}/audienceExports"; /// Initializes Create parameter list. protected override void InitParameters() { base.InitParameters(); RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter { Name = "parent", IsRequired = true, ParameterType = "path", DefaultValue = null, Pattern = @"^properties/[^/]+$", }); } } /// /// Gets configuration metadata about a specific audience export. This method can be used to understand an /// audience export after it has been created. See [Creating an Audience /// Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an /// introduction to Audience Exports with examples. Audience Export APIs have some methods at alpha and /// other methods at beta stability. The intention is to advance methods to beta stability after some /// feedback and adoption. To give your feedback on this API, complete the [Google Analytics Audience Export /// API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form. /// /// /// Required. The audience export resource name. Format: /// `properties/{property}/audienceExports/{audience_export}` /// public virtual GetRequest Get(string name) { return new GetRequest(this.service, name); } /// /// Gets configuration metadata about a specific audience export. This method can be used to understand an /// audience export after it has been created. See [Creating an Audience /// Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an /// introduction to Audience Exports with examples. Audience Export APIs have some methods at alpha and /// other methods at beta stability. The intention is to advance methods to beta stability after some /// feedback and adoption. To give your feedback on this API, complete the [Google Analytics Audience Export /// API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form. /// public class GetRequest : AnalyticsDataBaseServiceRequest { /// Constructs a new Get request. public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) { Name = name; InitParameters(); } /// /// Required. The audience export resource name. Format: /// `properties/{property}/audienceExports/{audience_export}` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } /// Gets the method name. public override string MethodName => "get"; /// Gets the HTTP method. public override string HttpMethod => "GET"; /// Gets the REST path. public override string RestPath => "v1beta/{+name}"; /// Initializes Get parameter list. protected override void InitParameters() { base.InitParameters(); RequestParameters.Add("name", new Google.Apis.Discovery.Parameter { Name = "name", IsRequired = true, ParameterType = "path", DefaultValue = null, Pattern = @"^properties/[^/]+/audienceExports/[^/]+$", }); } } /// /// Lists all audience exports for a property. This method can be used for you to find and reuse existing /// audience exports rather than creating unnecessary new audience exports. The same audience can have /// multiple audience exports that represent the export of users that were in an audience on different days. /// See [Creating an Audience /// Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an /// introduction to Audience Exports with examples. Audience Export APIs have some methods at alpha and /// other methods at beta stability. The intention is to advance methods to beta stability after some /// feedback and adoption. To give your feedback on this API, complete the [Google Analytics Audience Export /// API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form. /// /// /// Required. All audience exports for this property will be listed in the response. Format: /// `properties/{property}` /// public virtual ListRequest List(string parent) { return new ListRequest(this.service, parent); } /// /// Lists all audience exports for a property. This method can be used for you to find and reuse existing /// audience exports rather than creating unnecessary new audience exports. The same audience can have /// multiple audience exports that represent the export of users that were in an audience on different days. /// See [Creating an Audience /// Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an /// introduction to Audience Exports with examples. Audience Export APIs have some methods at alpha and /// other methods at beta stability. The intention is to advance methods to beta stability after some /// feedback and adoption. To give your feedback on this API, complete the [Google Analytics Audience Export /// API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form. /// public class ListRequest : AnalyticsDataBaseServiceRequest { /// Constructs a new List request. public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) { Parent = parent; InitParameters(); } /// /// Required. All audience exports for this property will be listed in the response. Format: /// `properties/{property}` /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } /// /// Optional. The maximum number of audience exports to return. The service may return fewer than this /// value. If unspecified, at most 200 audience exports will be returned. The maximum value is 1000 /// (higher values will be coerced to the maximum). /// [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] public virtual System.Nullable PageSize { get; set; } /// /// Optional. A page token, received from a previous `ListAudienceExports` call. Provide this to /// retrieve the subsequent page. When paginating, all other parameters provided to /// `ListAudienceExports` must match the call that provided the page token. /// [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] public virtual string PageToken { get; set; } /// Gets the method name. public override string MethodName => "list"; /// Gets the HTTP method. public override string HttpMethod => "GET"; /// Gets the REST path. public override string RestPath => "v1beta/{+parent}/audienceExports"; /// Initializes List parameter list. protected override void InitParameters() { base.InitParameters(); RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter { Name = "parent", IsRequired = true, ParameterType = "path", DefaultValue = null, Pattern = @"^properties/[^/]+$", }); RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter { Name = "pageSize", IsRequired = false, ParameterType = "query", DefaultValue = null, Pattern = null, }); RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter { Name = "pageToken", IsRequired = false, ParameterType = "query", DefaultValue = null, Pattern = null, }); } } /// /// Retrieves an audience export of users. After creating an audience, the users are not immediately /// available for exporting. First, a request to `CreateAudienceExport` is necessary to create an audience /// export of users, and then second, this method is used to retrieve the users in the audience export. See /// [Creating an Audience /// Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an /// introduction to Audience Exports with examples. Audiences in Google Analytics 4 allow you to segment /// your users in the ways that are important to your business. To learn more, see /// https://support.google.com/analytics/answer/9267572. Audience Export APIs have some methods at alpha and /// other methods at beta stability. The intention is to advance methods to beta stability after some /// feedback and adoption. To give your feedback on this API, complete the [Google Analytics Audience Export /// API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form. /// /// The body of the request. /// /// Required. The name of the audience export to retrieve users from. Format: /// `properties/{property}/audienceExports/{audience_export}` /// public virtual QueryRequest Query(Google.Apis.AnalyticsData.v1beta.Data.QueryAudienceExportRequest body, string name) { return new QueryRequest(this.service, body, name); } /// /// Retrieves an audience export of users. After creating an audience, the users are not immediately /// available for exporting. First, a request to `CreateAudienceExport` is necessary to create an audience /// export of users, and then second, this method is used to retrieve the users in the audience export. See /// [Creating an Audience /// Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an /// introduction to Audience Exports with examples. Audiences in Google Analytics 4 allow you to segment /// your users in the ways that are important to your business. To learn more, see /// https://support.google.com/analytics/answer/9267572. Audience Export APIs have some methods at alpha and /// other methods at beta stability. The intention is to advance methods to beta stability after some /// feedback and adoption. To give your feedback on this API, complete the [Google Analytics Audience Export /// API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form. /// public class QueryRequest : AnalyticsDataBaseServiceRequest { /// Constructs a new Query request. public QueryRequest(Google.Apis.Services.IClientService service, Google.Apis.AnalyticsData.v1beta.Data.QueryAudienceExportRequest body, string name) : base(service) { Name = name; Body = body; InitParameters(); } /// /// Required. The name of the audience export to retrieve users from. Format: /// `properties/{property}/audienceExports/{audience_export}` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } /// Gets or sets the body of this request. Google.Apis.AnalyticsData.v1beta.Data.QueryAudienceExportRequest Body { get; set; } /// Returns the body of the request. protected override object GetBody() => Body; /// Gets the method name. public override string MethodName => "query"; /// Gets the HTTP method. public override string HttpMethod => "POST"; /// Gets the REST path. public override string RestPath => "v1beta/{+name}:query"; /// Initializes Query parameter list. protected override void InitParameters() { base.InitParameters(); RequestParameters.Add("name", new Google.Apis.Discovery.Parameter { Name = "name", IsRequired = true, ParameterType = "path", DefaultValue = null, Pattern = @"^properties/[^/]+/audienceExports/[^/]+$", }); } } } /// /// Returns multiple pivot reports in a batch. All reports must be for the same Google Analytics property. /// /// The body of the request. /// /// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body. /// To learn more, see [where to find your Property /// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). This property must be /// specified for the batch. The property within RunPivotReportRequest may either be unspecified or consistent /// with this property. Example: properties/1234 /// public virtual BatchRunPivotReportsRequest BatchRunPivotReports(Google.Apis.AnalyticsData.v1beta.Data.BatchRunPivotReportsRequest body, string property) { return new BatchRunPivotReportsRequest(this.service, body, property); } /// /// Returns multiple pivot reports in a batch. All reports must be for the same Google Analytics property. /// public class BatchRunPivotReportsRequest : AnalyticsDataBaseServiceRequest { /// Constructs a new BatchRunPivotReports request. public BatchRunPivotReportsRequest(Google.Apis.Services.IClientService service, Google.Apis.AnalyticsData.v1beta.Data.BatchRunPivotReportsRequest body, string property) : base(service) { Property = property; Body = body; InitParameters(); } /// /// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the /// body. To learn more, see [where to find your Property /// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). This property must /// be specified for the batch. The property within RunPivotReportRequest may either be unspecified or /// consistent with this property. Example: properties/1234 /// [Google.Apis.Util.RequestParameterAttribute("property", Google.Apis.Util.RequestParameterType.Path)] public virtual string Property { get; private set; } /// Gets or sets the body of this request. Google.Apis.AnalyticsData.v1beta.Data.BatchRunPivotReportsRequest Body { get; set; } /// Returns the body of the request. protected override object GetBody() => Body; /// Gets the method name. public override string MethodName => "batchRunPivotReports"; /// Gets the HTTP method. public override string HttpMethod => "POST"; /// Gets the REST path. public override string RestPath => "v1beta/{+property}:batchRunPivotReports"; /// Initializes BatchRunPivotReports parameter list. protected override void InitParameters() { base.InitParameters(); RequestParameters.Add("property", new Google.Apis.Discovery.Parameter { Name = "property", IsRequired = true, ParameterType = "path", DefaultValue = null, Pattern = @"^properties/[^/]+$", }); } } /// /// Returns multiple reports in a batch. All reports must be for the same Google Analytics property. /// /// The body of the request. /// /// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body. /// To learn more, see [where to find your Property /// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). This property must be /// specified for the batch. The property within RunReportRequest may either be unspecified or consistent with /// this property. Example: properties/1234 /// public virtual BatchRunReportsRequest BatchRunReports(Google.Apis.AnalyticsData.v1beta.Data.BatchRunReportsRequest body, string property) { return new BatchRunReportsRequest(this.service, body, property); } /// /// Returns multiple reports in a batch. All reports must be for the same Google Analytics property. /// public class BatchRunReportsRequest : AnalyticsDataBaseServiceRequest { /// Constructs a new BatchRunReports request. public BatchRunReportsRequest(Google.Apis.Services.IClientService service, Google.Apis.AnalyticsData.v1beta.Data.BatchRunReportsRequest body, string property) : base(service) { Property = property; Body = body; InitParameters(); } /// /// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the /// body. To learn more, see [where to find your Property /// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). This property must /// be specified for the batch. The property within RunReportRequest may either be unspecified or consistent /// with this property. Example: properties/1234 /// [Google.Apis.Util.RequestParameterAttribute("property", Google.Apis.Util.RequestParameterType.Path)] public virtual string Property { get; private set; } /// Gets or sets the body of this request. Google.Apis.AnalyticsData.v1beta.Data.BatchRunReportsRequest Body { get; set; } /// Returns the body of the request. protected override object GetBody() => Body; /// Gets the method name. public override string MethodName => "batchRunReports"; /// Gets the HTTP method. public override string HttpMethod => "POST"; /// Gets the REST path. public override string RestPath => "v1beta/{+property}:batchRunReports"; /// Initializes BatchRunReports parameter list. protected override void InitParameters() { base.InitParameters(); RequestParameters.Add("property", new Google.Apis.Discovery.Parameter { Name = "property", IsRequired = true, ParameterType = "path", DefaultValue = null, Pattern = @"^properties/[^/]+$", }); } } /// /// This compatibility method lists dimensions and metrics that can be added to a report request and maintain /// compatibility. This method fails if the request's dimensions and metrics are incompatible. In Google /// Analytics, reports fail if they request incompatible dimensions and/or metrics; in that case, you will need /// to remove dimensions and/or metrics from the incompatible report until the report is compatible. The /// Realtime and Core reports have different compatibility rules. This method checks compatibility for Core /// reports. /// /// The body of the request. /// /// A Google Analytics property identifier whose events are tracked. To learn more, see [where to find your /// Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). `property` /// should be the same value as in your `runReport` request. Example: properties/1234 /// public virtual CheckCompatibilityRequest CheckCompatibility(Google.Apis.AnalyticsData.v1beta.Data.CheckCompatibilityRequest body, string property) { return new CheckCompatibilityRequest(this.service, body, property); } /// /// This compatibility method lists dimensions and metrics that can be added to a report request and maintain /// compatibility. This method fails if the request's dimensions and metrics are incompatible. In Google /// Analytics, reports fail if they request incompatible dimensions and/or metrics; in that case, you will need /// to remove dimensions and/or metrics from the incompatible report until the report is compatible. The /// Realtime and Core reports have different compatibility rules. This method checks compatibility for Core /// reports. /// public class CheckCompatibilityRequest : AnalyticsDataBaseServiceRequest { /// Constructs a new CheckCompatibility request. public CheckCompatibilityRequest(Google.Apis.Services.IClientService service, Google.Apis.AnalyticsData.v1beta.Data.CheckCompatibilityRequest body, string property) : base(service) { Property = property; Body = body; InitParameters(); } /// /// A Google Analytics property identifier whose events are tracked. To learn more, see [where to find your /// Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). /// `property` should be the same value as in your `runReport` request. Example: properties/1234 /// [Google.Apis.Util.RequestParameterAttribute("property", Google.Apis.Util.RequestParameterType.Path)] public virtual string Property { get; private set; } /// Gets or sets the body of this request. Google.Apis.AnalyticsData.v1beta.Data.CheckCompatibilityRequest Body { get; set; } /// Returns the body of the request. protected override object GetBody() => Body; /// Gets the method name. public override string MethodName => "checkCompatibility"; /// Gets the HTTP method. public override string HttpMethod => "POST"; /// Gets the REST path. public override string RestPath => "v1beta/{+property}:checkCompatibility"; /// Initializes CheckCompatibility parameter list. protected override void InitParameters() { base.InitParameters(); RequestParameters.Add("property", new Google.Apis.Discovery.Parameter { Name = "property", IsRequired = true, ParameterType = "path", DefaultValue = null, Pattern = @"^properties/[^/]+$", }); } } /// /// Returns metadata for dimensions and metrics available in reporting methods. Used to explore the dimensions /// and metrics. In this method, a Google Analytics property identifier is specified in the request, and the /// metadata response includes Custom dimensions and metrics as well as Universal metadata. For example if a /// custom metric with parameter name `levels_unlocked` is registered to a property, the Metadata response will /// contain `customEvent:levels_unlocked`. Universal metadata are dimensions and metrics applicable to any /// property such as `country` and `totalUsers`. /// /// /// Required. The resource name of the metadata to retrieve. This name field is specified in the URL path and /// not URL parameters. Property is a numeric Google Analytics property identifier. To learn more, see [where to /// find your Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). /// Example: properties/1234/metadata Set the Property ID to 0 for dimensions and metrics common to all /// properties. In this special mode, this method will not return custom dimensions and metrics. /// public virtual GetMetadataRequest GetMetadata(string name) { return new GetMetadataRequest(this.service, name); } /// /// Returns metadata for dimensions and metrics available in reporting methods. Used to explore the dimensions /// and metrics. In this method, a Google Analytics property identifier is specified in the request, and the /// metadata response includes Custom dimensions and metrics as well as Universal metadata. For example if a /// custom metric with parameter name `levels_unlocked` is registered to a property, the Metadata response will /// contain `customEvent:levels_unlocked`. Universal metadata are dimensions and metrics applicable to any /// property such as `country` and `totalUsers`. /// public class GetMetadataRequest : AnalyticsDataBaseServiceRequest { /// Constructs a new GetMetadata request. public GetMetadataRequest(Google.Apis.Services.IClientService service, string name) : base(service) { Name = name; InitParameters(); } /// /// Required. The resource name of the metadata to retrieve. This name field is specified in the URL path /// and not URL parameters. Property is a numeric Google Analytics property identifier. To learn more, see /// [where to find your Property /// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Example: /// properties/1234/metadata Set the Property ID to 0 for dimensions and metrics common to all properties. /// In this special mode, this method will not return custom dimensions and metrics. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } /// Gets the method name. public override string MethodName => "getMetadata"; /// Gets the HTTP method. public override string HttpMethod => "GET"; /// Gets the REST path. public override string RestPath => "v1beta/{+name}"; /// Initializes GetMetadata parameter list. protected override void InitParameters() { base.InitParameters(); RequestParameters.Add("name", new Google.Apis.Discovery.Parameter { Name = "name", IsRequired = true, ParameterType = "path", DefaultValue = null, Pattern = @"^properties/[^/]+/metadata$", }); } } /// /// Returns a customized pivot report of your Google Analytics event data. Pivot reports are more advanced and /// expressive formats than regular reports. In a pivot report, dimensions are only visible if they are included /// in a pivot. Multiple pivots can be specified to further dissect your data. /// /// The body of the request. /// /// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body. /// To learn more, see [where to find your Property /// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Within a batch /// request, this property should either be unspecified or consistent with the batch-level property. Example: /// properties/1234 /// public virtual RunPivotReportRequest RunPivotReport(Google.Apis.AnalyticsData.v1beta.Data.RunPivotReportRequest body, string property) { return new RunPivotReportRequest(this.service, body, property); } /// /// Returns a customized pivot report of your Google Analytics event data. Pivot reports are more advanced and /// expressive formats than regular reports. In a pivot report, dimensions are only visible if they are included /// in a pivot. Multiple pivots can be specified to further dissect your data. /// public class RunPivotReportRequest : AnalyticsDataBaseServiceRequest { /// Constructs a new RunPivotReport request. public RunPivotReportRequest(Google.Apis.Services.IClientService service, Google.Apis.AnalyticsData.v1beta.Data.RunPivotReportRequest body, string property) : base(service) { Property = property; Body = body; InitParameters(); } /// /// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the /// body. To learn more, see [where to find your Property /// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Within a batch /// request, this property should either be unspecified or consistent with the batch-level property. /// Example: properties/1234 /// [Google.Apis.Util.RequestParameterAttribute("property", Google.Apis.Util.RequestParameterType.Path)] public virtual string Property { get; private set; } /// Gets or sets the body of this request. Google.Apis.AnalyticsData.v1beta.Data.RunPivotReportRequest Body { get; set; } /// Returns the body of the request. protected override object GetBody() => Body; /// Gets the method name. public override string MethodName => "runPivotReport"; /// Gets the HTTP method. public override string HttpMethod => "POST"; /// Gets the REST path. public override string RestPath => "v1beta/{+property}:runPivotReport"; /// Initializes RunPivotReport parameter list. protected override void InitParameters() { base.InitParameters(); RequestParameters.Add("property", new Google.Apis.Discovery.Parameter { Name = "property", IsRequired = true, ParameterType = "path", DefaultValue = null, Pattern = @"^properties/[^/]+$", }); } } /// /// Returns a customized report of realtime event data for your property. Events appear in realtime reports /// seconds after they have been sent to the Google Analytics. Realtime reports show events and usage data for /// the periods of time ranging from the present moment to 30 minutes ago (up to 60 minutes for Google Analytics /// 360 properties). For a guide to constructing realtime requests & understanding responses, see /// [Creating a Realtime /// Report](https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-basics). /// /// The body of the request. /// /// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body. /// To learn more, see [where to find your Property /// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Example: /// properties/1234 /// public virtual RunRealtimeReportRequest RunRealtimeReport(Google.Apis.AnalyticsData.v1beta.Data.RunRealtimeReportRequest body, string property) { return new RunRealtimeReportRequest(this.service, body, property); } /// /// Returns a customized report of realtime event data for your property. Events appear in realtime reports /// seconds after they have been sent to the Google Analytics. Realtime reports show events and usage data for /// the periods of time ranging from the present moment to 30 minutes ago (up to 60 minutes for Google Analytics /// 360 properties). For a guide to constructing realtime requests & understanding responses, see /// [Creating a Realtime /// Report](https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-basics). /// public class RunRealtimeReportRequest : AnalyticsDataBaseServiceRequest { /// Constructs a new RunRealtimeReport request. public RunRealtimeReportRequest(Google.Apis.Services.IClientService service, Google.Apis.AnalyticsData.v1beta.Data.RunRealtimeReportRequest body, string property) : base(service) { Property = property; Body = body; InitParameters(); } /// /// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the /// body. To learn more, see [where to find your Property /// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Example: /// properties/1234 /// [Google.Apis.Util.RequestParameterAttribute("property", Google.Apis.Util.RequestParameterType.Path)] public virtual string Property { get; private set; } /// Gets or sets the body of this request. Google.Apis.AnalyticsData.v1beta.Data.RunRealtimeReportRequest Body { get; set; } /// Returns the body of the request. protected override object GetBody() => Body; /// Gets the method name. public override string MethodName => "runRealtimeReport"; /// Gets the HTTP method. public override string HttpMethod => "POST"; /// Gets the REST path. public override string RestPath => "v1beta/{+property}:runRealtimeReport"; /// Initializes RunRealtimeReport parameter list. protected override void InitParameters() { base.InitParameters(); RequestParameters.Add("property", new Google.Apis.Discovery.Parameter { Name = "property", IsRequired = true, ParameterType = "path", DefaultValue = null, Pattern = @"^properties/[^/]+$", }); } } /// /// Returns a customized report of your Google Analytics event data. Reports contain statistics derived from /// data collected by the Google Analytics tracking code. The data returned from the API is as a table with /// columns for the requested dimensions and metrics. Metrics are individual measurements of user activity on /// your property, such as active users or event count. Dimensions break down metrics across some common /// criteria, such as country or event name. For a guide to constructing requests & understanding /// responses, see [Creating a /// Report](https://developers.google.com/analytics/devguides/reporting/data/v1/basics). /// /// The body of the request. /// /// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body. /// To learn more, see [where to find your Property /// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Within a batch /// request, this property should either be unspecified or consistent with the batch-level property. Example: /// properties/1234 /// public virtual RunReportRequest RunReport(Google.Apis.AnalyticsData.v1beta.Data.RunReportRequest body, string property) { return new RunReportRequest(this.service, body, property); } /// /// Returns a customized report of your Google Analytics event data. Reports contain statistics derived from /// data collected by the Google Analytics tracking code. The data returned from the API is as a table with /// columns for the requested dimensions and metrics. Metrics are individual measurements of user activity on /// your property, such as active users or event count. Dimensions break down metrics across some common /// criteria, such as country or event name. For a guide to constructing requests & understanding /// responses, see [Creating a /// Report](https://developers.google.com/analytics/devguides/reporting/data/v1/basics). /// public class RunReportRequest : AnalyticsDataBaseServiceRequest { /// Constructs a new RunReport request. public RunReportRequest(Google.Apis.Services.IClientService service, Google.Apis.AnalyticsData.v1beta.Data.RunReportRequest body, string property) : base(service) { Property = property; Body = body; InitParameters(); } /// /// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the /// body. To learn more, see [where to find your Property /// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Within a batch /// request, this property should either be unspecified or consistent with the batch-level property. /// Example: properties/1234 /// [Google.Apis.Util.RequestParameterAttribute("property", Google.Apis.Util.RequestParameterType.Path)] public virtual string Property { get; private set; } /// Gets or sets the body of this request. Google.Apis.AnalyticsData.v1beta.Data.RunReportRequest Body { get; set; } /// Returns the body of the request. protected override object GetBody() => Body; /// Gets the method name. public override string MethodName => "runReport"; /// Gets the HTTP method. public override string HttpMethod => "POST"; /// Gets the REST path. public override string RestPath => "v1beta/{+property}:runReport"; /// Initializes RunReport parameter list. protected override void InitParameters() { base.InitParameters(); RequestParameters.Add("property", new Google.Apis.Discovery.Parameter { Name = "property", IsRequired = true, ParameterType = "path", DefaultValue = null, Pattern = @"^properties/[^/]+$", }); } } } } namespace Google.Apis.AnalyticsData.v1beta.Data { /// A metric actively restricted in creating the report. public class ActiveMetricRestriction : Google.Apis.Requests.IDirectResponseSchema { /// The name of the restricted metric. [Newtonsoft.Json.JsonPropertyAttribute("metricName")] public virtual string MetricName { get; set; } /// The reason for this metric's restriction. [Newtonsoft.Json.JsonPropertyAttribute("restrictedMetricTypes")] public virtual System.Collections.Generic.IList RestrictedMetricTypes { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// An audience export is a list of users in an audience at the time of the list's creation. One audience may have /// multiple audience exports created for different days. /// public class AudienceExport : Google.Apis.Requests.IDirectResponseSchema { /// /// Required. The audience resource name. This resource name identifies the audience being listed and is shared /// between the Analytics Data & Admin APIs. Format: `properties/{property}/audiences/{audience}` /// [Newtonsoft.Json.JsonPropertyAttribute("audience")] public virtual string Audience { get; set; } /// Output only. The descriptive display name for this audience. For example, "Purchasers". [Newtonsoft.Json.JsonPropertyAttribute("audienceDisplayName")] public virtual string AudienceDisplayName { get; set; } private string _beginCreatingTimeRaw; private object _beginCreatingTime; /// /// Output only. The time when CreateAudienceExport was called and the AudienceExport began the `CREATING` /// state. /// [Newtonsoft.Json.JsonPropertyAttribute("beginCreatingTime")] public virtual string BeginCreatingTimeRaw { get => _beginCreatingTimeRaw; set { _beginCreatingTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); _beginCreatingTimeRaw = value; } } /// representation of . [Newtonsoft.Json.JsonIgnoreAttribute] [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use BeginCreatingTimeDateTimeOffset instead.")] public virtual object BeginCreatingTime { get => _beginCreatingTime; set { _beginCreatingTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); _beginCreatingTime = value; } } /// /// representation of . /// [Newtonsoft.Json.JsonIgnoreAttribute] public virtual System.DateTimeOffset? BeginCreatingTimeDateTimeOffset { get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(BeginCreatingTimeRaw); set => BeginCreatingTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } /// /// Output only. The total quota tokens charged during creation of the AudienceExport. Because this token count /// is based on activity from the `CREATING` state, this tokens charged will be fixed once an AudienceExport /// enters the `ACTIVE` or `FAILED` states. /// [Newtonsoft.Json.JsonPropertyAttribute("creationQuotaTokensCharged")] public virtual System.Nullable CreationQuotaTokensCharged { get; set; } /// Required. The dimensions requested and displayed in the query response. [Newtonsoft.Json.JsonPropertyAttribute("dimensions")] public virtual System.Collections.Generic.IList Dimensions { get; set; } /// /// Output only. Error message is populated when an audience export fails during creation. A common reason for /// such a failure is quota exhaustion. /// [Newtonsoft.Json.JsonPropertyAttribute("errorMessage")] public virtual string ErrorMessage { get; set; } /// /// Output only. Identifier. The audience export resource name assigned during creation. This resource name /// identifies this `AudienceExport`. Format: `properties/{property}/audienceExports/{audience_export}` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// Output only. The percentage completed for this audience export ranging between 0 to 100. [Newtonsoft.Json.JsonPropertyAttribute("percentageCompleted")] public virtual System.Nullable PercentageCompleted { get; set; } /// Output only. The total number of rows in the AudienceExport result. [Newtonsoft.Json.JsonPropertyAttribute("rowCount")] public virtual System.Nullable RowCount { get; set; } /// Output only. The current state for this AudienceExport. [Newtonsoft.Json.JsonPropertyAttribute("state")] public virtual string State { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// This metadata is currently blank. public class AudienceListMetadata : Google.Apis.Requests.IDirectResponseSchema { /// The ETag of the item. public virtual string ETag { get; set; } } /// The batch request containing multiple pivot report requests. public class BatchRunPivotReportsRequest : Google.Apis.Requests.IDirectResponseSchema { /// /// Individual requests. Each request has a separate pivot report response. Each batch request is allowed up to /// 5 requests. /// [Newtonsoft.Json.JsonPropertyAttribute("requests")] public virtual System.Collections.Generic.IList Requests { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// The batch response containing multiple pivot reports. public class BatchRunPivotReportsResponse : Google.Apis.Requests.IDirectResponseSchema { /// /// Identifies what kind of resource this message is. This `kind` is always the fixed string /// "analyticsData#batchRunPivotReports". Useful to distinguish between response types in JSON. /// [Newtonsoft.Json.JsonPropertyAttribute("kind")] public virtual string Kind { get; set; } /// Individual responses. Each response has a separate pivot report request. [Newtonsoft.Json.JsonPropertyAttribute("pivotReports")] public virtual System.Collections.Generic.IList PivotReports { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// The batch request containing multiple report requests. public class BatchRunReportsRequest : Google.Apis.Requests.IDirectResponseSchema { /// /// Individual requests. Each request has a separate report response. Each batch request is allowed up to 5 /// requests. /// [Newtonsoft.Json.JsonPropertyAttribute("requests")] public virtual System.Collections.Generic.IList Requests { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// The batch response containing multiple reports. public class BatchRunReportsResponse : Google.Apis.Requests.IDirectResponseSchema { /// /// Identifies what kind of resource this message is. This `kind` is always the fixed string /// "analyticsData#batchRunReports". Useful to distinguish between response types in JSON. /// [Newtonsoft.Json.JsonPropertyAttribute("kind")] public virtual string Kind { get; set; } /// Individual responses. Each response has a separate report request. [Newtonsoft.Json.JsonPropertyAttribute("reports")] public virtual System.Collections.Generic.IList Reports { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// To express that the result needs to be between two numbers (inclusive). public class BetweenFilter : Google.Apis.Requests.IDirectResponseSchema { /// Begins with this number. [Newtonsoft.Json.JsonPropertyAttribute("fromValue")] public virtual NumericValue FromValue { get; set; } /// Ends with this number. [Newtonsoft.Json.JsonPropertyAttribute("toValue")] public virtual NumericValue ToValue { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// Used to convert a dimension value to a single case. public class CaseExpression : Google.Apis.Requests.IDirectResponseSchema { /// /// Name of a dimension. The name must refer back to a name in dimensions field of the request. /// [Newtonsoft.Json.JsonPropertyAttribute("dimensionName")] public virtual string DimensionName { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// The request for compatibility information for a report's dimensions and metrics. Check compatibility provides a /// preview of the compatibility of a report; fields shared with the `runReport` request should be the same values /// as in your `runReport` request. /// public class CheckCompatibilityRequest : Google.Apis.Requests.IDirectResponseSchema { /// /// Filters the dimensions and metrics in the response to just this compatibility. Commonly used as /// `”compatibilityFilter”: “COMPATIBLE”` to only return compatible dimensions & metrics. /// [Newtonsoft.Json.JsonPropertyAttribute("compatibilityFilter")] public virtual string CompatibilityFilter { get; set; } /// /// The filter clause of dimensions. `dimensionFilter` should be the same value as in your `runReport` request. /// [Newtonsoft.Json.JsonPropertyAttribute("dimensionFilter")] public virtual FilterExpression DimensionFilter { get; set; } /// /// The dimensions in this report. `dimensions` should be the same value as in your `runReport` request. /// [Newtonsoft.Json.JsonPropertyAttribute("dimensions")] public virtual System.Collections.Generic.IList Dimensions { get; set; } /// /// The filter clause of metrics. `metricFilter` should be the same value as in your `runReport` request /// [Newtonsoft.Json.JsonPropertyAttribute("metricFilter")] public virtual FilterExpression MetricFilter { get; set; } /// /// The metrics in this report. `metrics` should be the same value as in your `runReport` request. /// [Newtonsoft.Json.JsonPropertyAttribute("metrics")] public virtual System.Collections.Generic.IList Metrics { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// The compatibility response with the compatibility of each dimension & metric. public class CheckCompatibilityResponse : Google.Apis.Requests.IDirectResponseSchema { /// The compatibility of each dimension. [Newtonsoft.Json.JsonPropertyAttribute("dimensionCompatibilities")] public virtual System.Collections.Generic.IList DimensionCompatibilities { get; set; } /// The compatibility of each metric. [Newtonsoft.Json.JsonPropertyAttribute("metricCompatibilities")] public virtual System.Collections.Generic.IList MetricCompatibilities { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// Defines a cohort selection criteria. A cohort is a group of users who share a common characteristic. For /// example, users with the same `firstSessionDate` belong to the same cohort. /// public class Cohort : Google.Apis.Requests.IDirectResponseSchema { /// /// The cohort selects users whose first touch date is between start date and end date defined in the /// `dateRange`. This `dateRange` does not specify the full date range of event data that is present in a cohort /// report. In a cohort report, this `dateRange` is extended by the granularity and offset present in the /// `cohortsRange`; event data for the extended reporting date range is present in a cohort report. In a cohort /// request, this `dateRange` is required and the `dateRanges` in the `RunReportRequest` or /// `RunPivotReportRequest` must be unspecified. This `dateRange` should generally be aligned with the cohort's /// granularity. If `CohortsRange` uses daily granularity, this `dateRange` can be a single day. If /// `CohortsRange` uses weekly granularity, this `dateRange` can be aligned to a week boundary, starting at /// Sunday and ending Saturday. If `CohortsRange` uses monthly granularity, this `dateRange` can be aligned to a /// month, starting at the first and ending on the last day of the month. /// [Newtonsoft.Json.JsonPropertyAttribute("dateRange")] public virtual DateRange DateRange { get; set; } /// Dimension used by the cohort. Required and only supports `firstSessionDate`. [Newtonsoft.Json.JsonPropertyAttribute("dimension")] public virtual string Dimension { get; set; } /// /// Assigns a name to this cohort. The dimension `cohort` is valued to this name in a report response. If set, /// cannot begin with `cohort_` or `RESERVED_`. If not set, cohorts are named by their zero based index /// `cohort_0`, `cohort_1`, etc. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// Optional settings of a cohort report. public class CohortReportSettings : Google.Apis.Requests.IDirectResponseSchema { /// /// If true, accumulates the result from first touch day to the end day. Not supported in `RunReportRequest`. /// [Newtonsoft.Json.JsonPropertyAttribute("accumulate")] public virtual System.Nullable Accumulate { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// The specification of cohorts for a cohort report. Cohort reports create a time series of user retention for the /// cohort. For example, you could select the cohort of users that were acquired in the first week of September and /// follow that cohort for the next six weeks. Selecting the users acquired in the first week of September cohort is /// specified in the `cohort` object. Following that cohort for the next six weeks is specified in the /// `cohortsRange` object. For examples, see [Cohort Report /// Examples](https://developers.google.com/analytics/devguides/reporting/data/v1/advanced#cohort_report_examples). /// The report response could show a weekly time series where say your app has retained 60% of this cohort after /// three weeks and 25% of this cohort after six weeks. These two percentages can be calculated by the metric /// `cohortActiveUsers/cohortTotalUsers` and will be separate rows in the report. /// public class CohortSpec : Google.Apis.Requests.IDirectResponseSchema { /// Optional settings for a cohort report. [Newtonsoft.Json.JsonPropertyAttribute("cohortReportSettings")] public virtual CohortReportSettings CohortReportSettings { get; set; } /// /// Defines the selection criteria to group users into cohorts. Most cohort reports define only a single cohort. /// If multiple cohorts are specified, each cohort can be recognized in the report by their name. /// [Newtonsoft.Json.JsonPropertyAttribute("cohorts")] public virtual System.Collections.Generic.IList Cohorts { get; set; } /// /// Cohort reports follow cohorts over an extended reporting date range. This range specifies an offset duration /// to follow the cohorts over. /// [Newtonsoft.Json.JsonPropertyAttribute("cohortsRange")] public virtual CohortsRange CohortsRange { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// Configures the extended reporting date range for a cohort report. Specifies an offset duration to follow the /// cohorts over. /// public class CohortsRange : Google.Apis.Requests.IDirectResponseSchema { /// /// Required. `endOffset` specifies the end date of the extended reporting date range for a cohort report. /// `endOffset` can be any positive integer but is commonly set to 5 to 10 so that reports contain data on the /// cohort for the next several granularity time periods. If `granularity` is `DAILY`, the `endDate` of the /// extended reporting date range is `endDate` of the cohort plus `endOffset` days. If `granularity` is /// `WEEKLY`, the `endDate` of the extended reporting date range is `endDate` of the cohort plus `endOffset * 7` /// days. If `granularity` is `MONTHLY`, the `endDate` of the extended reporting date range is `endDate` of the /// cohort plus `endOffset * 30` days. /// [Newtonsoft.Json.JsonPropertyAttribute("endOffset")] public virtual System.Nullable EndOffset { get; set; } /// /// Required. The granularity used to interpret the `startOffset` and `endOffset` for the extended reporting /// date range for a cohort report. /// [Newtonsoft.Json.JsonPropertyAttribute("granularity")] public virtual string Granularity { get; set; } /// /// `startOffset` specifies the start date of the extended reporting date range for a cohort report. /// `startOffset` is commonly set to 0 so that reports contain data from the acquisition of the cohort forward. /// If `granularity` is `DAILY`, the `startDate` of the extended reporting date range is `startDate` of the /// cohort plus `startOffset` days. If `granularity` is `WEEKLY`, the `startDate` of the extended reporting date /// range is `startDate` of the cohort plus `startOffset * 7` days. If `granularity` is `MONTHLY`, the /// `startDate` of the extended reporting date range is `startDate` of the cohort plus `startOffset * 30` days. /// [Newtonsoft.Json.JsonPropertyAttribute("startOffset")] public virtual System.Nullable StartOffset { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// Defines an individual comparison. Most requests will include multiple comparisons so that the report compares /// between the comparisons. /// public class Comparison : Google.Apis.Requests.IDirectResponseSchema { /// /// A saved comparison identified by the comparison's resource name. For example, 'comparisons/1234'. /// [Newtonsoft.Json.JsonPropertyAttribute("comparison")] public virtual string ComparisonValue { get; set; } /// A basic comparison. [Newtonsoft.Json.JsonPropertyAttribute("dimensionFilter")] public virtual FilterExpression DimensionFilter { get; set; } /// /// Each comparison produces separate rows in the response. In the response, this comparison is identified by /// this name. If name is unspecified, we will use the saved comparisons display name. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// The metadata for a single comparison. public class ComparisonMetadata : Google.Apis.Requests.IDirectResponseSchema { /// /// This comparison's resource name. Useable in [Comparison](#Comparison)'s `comparison` field. For example, /// 'comparisons/1234'. /// [Newtonsoft.Json.JsonPropertyAttribute("apiName")] public virtual string ApiName { get; set; } /// This comparison's description. [Newtonsoft.Json.JsonPropertyAttribute("description")] public virtual string Description { get; set; } /// This comparison's name within the Google Analytics user interface. [Newtonsoft.Json.JsonPropertyAttribute("uiName")] public virtual string UiName { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// Used to combine dimension values to a single dimension. public class ConcatenateExpression : Google.Apis.Requests.IDirectResponseSchema { /// /// The delimiter placed between dimension names. Delimiters are often single characters such as "|" or "," but /// can be longer strings. If a dimension value contains the delimiter, both will be present in response with no /// distinction. For example if dimension 1 value = "US,FR", dimension 2 value = "JP", and delimiter = ",", then /// the response will contain "US,FR,JP". /// [Newtonsoft.Json.JsonPropertyAttribute("delimiter")] public virtual string Delimiter { get; set; } /// /// Names of dimensions. The names must refer back to names in the dimensions field of the request. /// [Newtonsoft.Json.JsonPropertyAttribute("dimensionNames")] public virtual System.Collections.Generic.IList DimensionNames { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// A contiguous set of days: `startDate`, `startDate + 1`, ..., `endDate`. Requests are allowed up to 4 date /// ranges. /// public class DateRange : Google.Apis.Requests.IDirectResponseSchema { /// /// The inclusive end date for the query in the format `YYYY-MM-DD`. Cannot be before `start_date`. The format /// `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the /// property's reporting time zone. /// [Newtonsoft.Json.JsonPropertyAttribute("endDate")] public virtual string EndDate { get; set; } /// /// Assigns a name to this date range. The dimension `dateRange` is valued to this name in a report response. If /// set, cannot begin with `date_range_` or `RESERVED_`. If not set, date ranges are named by their zero based /// index in the request: `date_range_0`, `date_range_1`, etc. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// /// The inclusive start date for the query in the format `YYYY-MM-DD`. Cannot be after `end_date`. The format /// `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the /// property's reporting time zone. /// [Newtonsoft.Json.JsonPropertyAttribute("startDate")] public virtual string StartDate { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event /// originates. Dimension values in report responses are strings; for example, the city could be "Paris" or "New /// York". Requests are allowed up to 9 dimensions. /// public class Dimension : Google.Apis.Requests.IDirectResponseSchema { /// /// One dimension can be the result of an expression of multiple dimensions. For example, dimension "country, /// city": concatenate(country, ", ", city). /// [Newtonsoft.Json.JsonPropertyAttribute("dimensionExpression")] public virtual DimensionExpression DimensionExpression { get; set; } /// /// The name of the dimension. See the [API /// Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#dimensions) for /// the list of dimension names supported by core reporting methods such as `runReport` and `batchRunReports`. /// See [Realtime /// Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-api-schema#dimensions) /// for the list of dimension names supported by the `runRealtimeReport` method. See [Funnel /// Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/exploration-api-schema#dimensions) /// for the list of dimension names supported by the `runFunnelReport` method. If `dimensionExpression` is /// specified, `name` can be any string that you would like within the allowed character set. For example if a /// `dimensionExpression` concatenates `country` and `city`, you could call that dimension `countryAndCity`. /// Dimension names that you choose must match the regular expression `^[a-zA-Z0-9_]$`. Dimensions are /// referenced by `name` in `dimensionFilter`, `orderBys`, `dimensionExpression`, and `pivots`. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// The compatibility for a single dimension. public class DimensionCompatibility : Google.Apis.Requests.IDirectResponseSchema { /// /// The compatibility of this dimension. If the compatibility is COMPATIBLE, this dimension can be successfully /// added to the report. /// [Newtonsoft.Json.JsonPropertyAttribute("compatibility")] public virtual string Compatibility { get; set; } /// /// The dimension metadata contains the API name for this compatibility information. The dimension metadata also /// contains other helpful information like the UI name and description. /// [Newtonsoft.Json.JsonPropertyAttribute("dimensionMetadata")] public virtual DimensionMetadata DimensionMetadata { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// Used to express a dimension which is the result of a formula of multiple dimensions. Example usages: 1) /// lower_case(dimension) 2) concatenate(dimension1, symbol, dimension2). /// public class DimensionExpression : Google.Apis.Requests.IDirectResponseSchema { /// /// Used to combine dimension values to a single dimension. For example, dimension "country, city": /// concatenate(country, ", ", city). /// [Newtonsoft.Json.JsonPropertyAttribute("concatenate")] public virtual ConcatenateExpression Concatenate { get; set; } /// Used to convert a dimension value to lower case. [Newtonsoft.Json.JsonPropertyAttribute("lowerCase")] public virtual CaseExpression LowerCase { get; set; } /// Used to convert a dimension value to upper case. [Newtonsoft.Json.JsonPropertyAttribute("upperCase")] public virtual CaseExpression UpperCase { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// Describes a dimension column in the report. Dimensions requested in a report produce column entries within rows /// and DimensionHeaders. However, dimensions used exclusively within filters or expressions do not produce columns /// in a report; correspondingly, those dimensions do not produce headers. /// public class DimensionHeader : Google.Apis.Requests.IDirectResponseSchema { /// The dimension's name. [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// Explains a dimension. public class DimensionMetadata : Google.Apis.Requests.IDirectResponseSchema { /// /// This dimension's name. Useable in [Dimension](#Dimension)'s `name`. For example, `eventName`. /// [Newtonsoft.Json.JsonPropertyAttribute("apiName")] public virtual string ApiName { get; set; } /// /// The display name of the category that this dimension belongs to. Similar dimensions and metrics are /// categorized together. /// [Newtonsoft.Json.JsonPropertyAttribute("category")] public virtual string Category { get; set; } /// /// True if the dimension is custom to this property. This includes user, event, & item scoped custom /// dimensions; to learn more about custom dimensions, see https://support.google.com/analytics/answer/14240153. /// This also include custom channel groups; to learn more about custom channel groups, see /// https://support.google.com/analytics/answer/13051316. /// [Newtonsoft.Json.JsonPropertyAttribute("customDefinition")] public virtual System.Nullable CustomDefinition { get; set; } /// /// Still usable but deprecated names for this dimension. If populated, this dimension is available by either /// `apiName` or one of `deprecatedApiNames` for a period of time. After the deprecation period, the dimension /// will be available only by `apiName`. /// [Newtonsoft.Json.JsonPropertyAttribute("deprecatedApiNames")] public virtual System.Collections.Generic.IList DeprecatedApiNames { get; set; } /// Description of how this dimension is used and calculated. [Newtonsoft.Json.JsonPropertyAttribute("description")] public virtual string Description { get; set; } /// /// This dimension's name within the Google Analytics user interface. For example, `Event name`. /// [Newtonsoft.Json.JsonPropertyAttribute("uiName")] public virtual string UiName { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// Sorts by dimension values. public class DimensionOrderBy : Google.Apis.Requests.IDirectResponseSchema { /// A dimension name in the request to order by. [Newtonsoft.Json.JsonPropertyAttribute("dimensionName")] public virtual string DimensionName { get; set; } /// Controls the rule for dimension value ordering. [Newtonsoft.Json.JsonPropertyAttribute("orderType")] public virtual string OrderType { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// The value of a dimension. public class DimensionValue : Google.Apis.Requests.IDirectResponseSchema { /// Value as a string if the dimension type is a string. [Newtonsoft.Json.JsonPropertyAttribute("value")] public virtual string Value { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// Filter for empty values. public class EmptyFilter : Google.Apis.Requests.IDirectResponseSchema { /// The ETag of the item. public virtual string ETag { get; set; } } /// An expression to filter dimension or metric values. public class Filter : Google.Apis.Requests.IDirectResponseSchema { /// A filter for two values. [Newtonsoft.Json.JsonPropertyAttribute("betweenFilter")] public virtual BetweenFilter BetweenFilter { get; set; } /// A filter for empty values such as "(not set)" and "" values. [Newtonsoft.Json.JsonPropertyAttribute("emptyFilter")] public virtual EmptyFilter EmptyFilter { get; set; } /// /// The dimension name or metric name. In most methods, dimensions & metrics can be used for the first /// time in this field. However in a RunPivotReportRequest, this field must be additionally specified by name in /// the RunPivotReportRequest's dimensions or metrics. /// [Newtonsoft.Json.JsonPropertyAttribute("fieldName")] public virtual string FieldName { get; set; } /// A filter for in list values. [Newtonsoft.Json.JsonPropertyAttribute("inListFilter")] public virtual InListFilter InListFilter { get; set; } /// A filter for numeric or date values. [Newtonsoft.Json.JsonPropertyAttribute("numericFilter")] public virtual NumericFilter NumericFilter { get; set; } /// Strings related filter. [Newtonsoft.Json.JsonPropertyAttribute("stringFilter")] public virtual StringFilter StringFilter { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions /// or all metrics. /// public class FilterExpression : Google.Apis.Requests.IDirectResponseSchema { /// The FilterExpressions in and_group have an AND relationship. [Newtonsoft.Json.JsonPropertyAttribute("andGroup")] public virtual FilterExpressionList AndGroup { get; set; } /// /// A primitive filter. In the same FilterExpression, all of the filter's field names need to be either all /// dimensions or all metrics. /// [Newtonsoft.Json.JsonPropertyAttribute("filter")] public virtual Filter Filter { get; set; } /// The FilterExpression is NOT of not_expression. [Newtonsoft.Json.JsonPropertyAttribute("notExpression")] public virtual FilterExpression NotExpression { get; set; } /// The FilterExpressions in or_group have an OR relationship. [Newtonsoft.Json.JsonPropertyAttribute("orGroup")] public virtual FilterExpressionList OrGroup { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// A list of filter expressions. public class FilterExpressionList : Google.Apis.Requests.IDirectResponseSchema { /// A list of filter expressions. [Newtonsoft.Json.JsonPropertyAttribute("expressions")] public virtual System.Collections.Generic.IList Expressions { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// The result needs to be in a list of string values. public class InListFilter : Google.Apis.Requests.IDirectResponseSchema { /// If true, the string value is case sensitive. [Newtonsoft.Json.JsonPropertyAttribute("caseSensitive")] public virtual System.Nullable CaseSensitive { get; set; } /// The list of string values. Must be non-empty. [Newtonsoft.Json.JsonPropertyAttribute("values")] public virtual System.Collections.Generic.IList Values { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// A list of all audience exports for a property. public class ListAudienceExportsResponse : Google.Apis.Requests.IDirectResponseSchema { /// Each audience export for a property. [Newtonsoft.Json.JsonPropertyAttribute("audienceExports")] public virtual System.Collections.Generic.IList AudienceExports { get; set; } /// /// A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no /// subsequent pages. /// [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] public virtual string NextPageToken { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// The dimensions, metrics and comparisons currently accepted in reporting methods. public class Metadata : Google.Apis.Requests.IDirectResponseSchema { /// The comparison descriptions. [Newtonsoft.Json.JsonPropertyAttribute("comparisons")] public virtual System.Collections.Generic.IList Comparisons { get; set; } /// The dimension descriptions. [Newtonsoft.Json.JsonPropertyAttribute("dimensions")] public virtual System.Collections.Generic.IList Dimensions { get; set; } /// The metric descriptions. [Newtonsoft.Json.JsonPropertyAttribute("metrics")] public virtual System.Collections.Generic.IList Metrics { get; set; } /// Resource name of this metadata. [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// The quantitative measurements of a report. For example, the metric `eventCount` is the total number of events. /// Requests are allowed up to 10 metrics. /// public class Metric : Google.Apis.Requests.IDirectResponseSchema { /// /// A mathematical expression for derived metrics. For example, the metric Event count per user is /// `eventCount/totalUsers`. /// [Newtonsoft.Json.JsonPropertyAttribute("expression")] public virtual string Expression { get; set; } /// /// Indicates if a metric is invisible in the report response. If a metric is invisible, the metric will not /// produce a column in the response, but can be used in `metricFilter`, `orderBys`, or a metric `expression`. /// [Newtonsoft.Json.JsonPropertyAttribute("invisible")] public virtual System.Nullable Invisible { get; set; } /// /// The name of the metric. See the [API /// Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#metrics) for the /// list of metric names supported by core reporting methods such as `runReport` and `batchRunReports`. See /// [Realtime /// Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-api-schema#metrics) /// for the list of metric names supported by the `runRealtimeReport` method. See [Funnel /// Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/exploration-api-schema#metrics) /// for the list of metric names supported by the `runFunnelReport` method. If `expression` is specified, `name` /// can be any string that you would like within the allowed character set. For example if `expression` is /// `screenPageViews/sessions`, you could call that metric's name = `viewsPerSession`. Metric names that you /// choose must match the regular expression `^[a-zA-Z0-9_]$`. Metrics are referenced by `name` in /// `metricFilter`, `orderBys`, and metric `expression`. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// The compatibility for a single metric. public class MetricCompatibility : Google.Apis.Requests.IDirectResponseSchema { /// /// The compatibility of this metric. If the compatibility is COMPATIBLE, this metric can be successfully added /// to the report. /// [Newtonsoft.Json.JsonPropertyAttribute("compatibility")] public virtual string Compatibility { get; set; } /// /// The metric metadata contains the API name for this compatibility information. The metric metadata also /// contains other helpful information like the UI name and description. /// [Newtonsoft.Json.JsonPropertyAttribute("metricMetadata")] public virtual MetricMetadata MetricMetadata { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// Describes a metric column in the report. Visible metrics requested in a report produce column entries within /// rows and MetricHeaders. However, metrics used exclusively within filters or expressions do not produce columns /// in a report; correspondingly, those metrics do not produce headers. /// public class MetricHeader : Google.Apis.Requests.IDirectResponseSchema { /// The metric's name. [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// The metric's data type. [Newtonsoft.Json.JsonPropertyAttribute("type")] public virtual string Type { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// Explains a metric. public class MetricMetadata : Google.Apis.Requests.IDirectResponseSchema { /// A metric name. Useable in [Metric](#Metric)'s `name`. For example, `eventCount`. [Newtonsoft.Json.JsonPropertyAttribute("apiName")] public virtual string ApiName { get; set; } /// /// If reasons are specified, your access is blocked to this metric for this property. API requests from you to /// this property for this metric will succeed; however, the report will contain only zeros for this metric. API /// requests with metric filters on blocked metrics will fail. If reasons are empty, you have access to this /// metric. To learn more, see [Access and data-restriction /// management](https://support.google.com/analytics/answer/10851388). /// [Newtonsoft.Json.JsonPropertyAttribute("blockedReasons")] public virtual System.Collections.Generic.IList BlockedReasons { get; set; } /// /// The display name of the category that this metrics belongs to. Similar dimensions and metrics are /// categorized together. /// [Newtonsoft.Json.JsonPropertyAttribute("category")] public virtual string Category { get; set; } /// True if the metric is a custom metric for this property. [Newtonsoft.Json.JsonPropertyAttribute("customDefinition")] public virtual System.Nullable CustomDefinition { get; set; } /// /// Still usable but deprecated names for this metric. If populated, this metric is available by either /// `apiName` or one of `deprecatedApiNames` for a period of time. After the deprecation period, the metric will /// be available only by `apiName`. /// [Newtonsoft.Json.JsonPropertyAttribute("deprecatedApiNames")] public virtual System.Collections.Generic.IList DeprecatedApiNames { get; set; } /// Description of how this metric is used and calculated. [Newtonsoft.Json.JsonPropertyAttribute("description")] public virtual string Description { get; set; } /// /// The mathematical expression for this derived metric. Can be used in [Metric](#Metric)'s `expression` field /// for equivalent reports. Most metrics are not expressions, and for non-expressions, this field is empty. /// [Newtonsoft.Json.JsonPropertyAttribute("expression")] public virtual string Expression { get; set; } /// The type of this metric. [Newtonsoft.Json.JsonPropertyAttribute("type")] public virtual string Type { get; set; } /// /// This metric's name within the Google Analytics user interface. For example, `Event count`. /// [Newtonsoft.Json.JsonPropertyAttribute("uiName")] public virtual string UiName { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// Sorts by metric values. public class MetricOrderBy : Google.Apis.Requests.IDirectResponseSchema { /// A metric name in the request to order by. [Newtonsoft.Json.JsonPropertyAttribute("metricName")] public virtual string MetricName { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// The value of a metric. public class MetricValue : Google.Apis.Requests.IDirectResponseSchema { /// Measurement value. See MetricHeader for type. [Newtonsoft.Json.JsonPropertyAttribute("value")] public virtual string Value { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// A contiguous set of minutes: `startMinutesAgo`, `startMinutesAgo + 1`, ..., `endMinutesAgo`. Requests are /// allowed up to 2 minute ranges. /// public class MinuteRange : Google.Apis.Requests.IDirectResponseSchema { /// /// The inclusive end minute for the query as a number of minutes before now. Cannot be before /// `startMinutesAgo`. For example, `"endMinutesAgo": 15` specifies the report should include event data from /// prior to 15 minutes ago. If unspecified, `endMinutesAgo` is defaulted to 0. Standard Analytics properties /// can request any minute in the last 30 minutes of event data (`endMinutesAgo <= 29`), and 360 /// Analytics properties can request any minute in the last 60 minutes of event data (`endMinutesAgo <= /// 59`). /// [Newtonsoft.Json.JsonPropertyAttribute("endMinutesAgo")] public virtual System.Nullable EndMinutesAgo { get; set; } /// /// Assigns a name to this minute range. The dimension `dateRange` is valued to this name in a report response. /// If set, cannot begin with `date_range_` or `RESERVED_`. If not set, minute ranges are named by their zero /// based index in the request: `date_range_0`, `date_range_1`, etc. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// /// The inclusive start minute for the query as a number of minutes before now. For example, `"startMinutesAgo": /// 29` specifies the report should include event data from 29 minutes ago and after. Cannot be after /// `endMinutesAgo`. If unspecified, `startMinutesAgo` is defaulted to 29. Standard Analytics properties can /// request up to the last 30 minutes of event data (`startMinutesAgo <= 29`), and 360 Analytics /// properties can request up to the last 60 minutes of event data (`startMinutesAgo <= 59`). /// [Newtonsoft.Json.JsonPropertyAttribute("startMinutesAgo")] public virtual System.Nullable StartMinutesAgo { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// Filters for numeric or date values. public class NumericFilter : Google.Apis.Requests.IDirectResponseSchema { /// The operation type for this filter. [Newtonsoft.Json.JsonPropertyAttribute("operation")] public virtual string Operation { get; set; } /// A numeric value or a date value. [Newtonsoft.Json.JsonPropertyAttribute("value")] public virtual NumericValue Value { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// To represent a number. public class NumericValue : Google.Apis.Requests.IDirectResponseSchema { /// Double value [Newtonsoft.Json.JsonPropertyAttribute("doubleValue")] public virtual System.Nullable DoubleValue { get; set; } /// Integer value [Newtonsoft.Json.JsonPropertyAttribute("int64Value")] public virtual System.Nullable Int64Value { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// This resource represents a long-running operation that is the result of a network API call. public class Operation : Google.Apis.Requests.IDirectResponseSchema { /// /// If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, /// and either `error` or `response` is available. /// [Newtonsoft.Json.JsonPropertyAttribute("done")] public virtual System.Nullable Done { get; set; } /// The error result of the operation in case of failure or cancellation. [Newtonsoft.Json.JsonPropertyAttribute("error")] public virtual Status Error { get; set; } /// /// Service-specific metadata associated with the operation. It typically contains progress information and /// common metadata such as create time. Some services might not provide such metadata. Any method that returns /// a long-running operation should document the metadata type, if any. /// [Newtonsoft.Json.JsonPropertyAttribute("metadata")] public virtual System.Collections.Generic.IDictionary Metadata { get; set; } /// /// The server-assigned name, which is only unique within the same service that originally returns it. If you /// use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// /// The normal, successful response of the operation. If the original method returns no data on success, such as /// `Delete`, the response is `google.protobuf.Empty`. If the original method is standard /// `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have /// the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is /// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. /// [Newtonsoft.Json.JsonPropertyAttribute("response")] public virtual System.Collections.Generic.IDictionary Response { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// Order bys define how rows will be sorted in the response. For example, ordering rows by descending event count /// is one ordering, and ordering rows by the event name string is a different ordering. /// public class OrderBy : Google.Apis.Requests.IDirectResponseSchema { /// If true, sorts by descending order. [Newtonsoft.Json.JsonPropertyAttribute("desc")] public virtual System.Nullable Desc { get; set; } /// Sorts results by a dimension's values. [Newtonsoft.Json.JsonPropertyAttribute("dimension")] public virtual DimensionOrderBy Dimension { get; set; } /// Sorts results by a metric's values. [Newtonsoft.Json.JsonPropertyAttribute("metric")] public virtual MetricOrderBy Metric { get; set; } /// Sorts results by a metric's values within a pivot column group. [Newtonsoft.Json.JsonPropertyAttribute("pivot")] public virtual PivotOrderBy Pivot { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// Describes the visible dimension columns and rows in the report response. public class Pivot : Google.Apis.Requests.IDirectResponseSchema { /// /// Dimension names for visible columns in the report response. Including "dateRange" produces a date range /// column; for each row in the response, dimension values in the date range column will indicate the /// corresponding date range from the request. /// [Newtonsoft.Json.JsonPropertyAttribute("fieldNames")] public virtual System.Collections.Generic.IList FieldNames { get; set; } /// /// The number of unique combinations of dimension values to return in this pivot. The `limit` parameter is /// required. A `limit` of 10,000 is common for single pivot requests. The product of the `limit` for each /// `pivot` in a `RunPivotReportRequest` must not exceed 250,000. For example, a two pivot request with `limit: /// 1000` in each pivot will fail because the product is `1,000,000`. /// [Newtonsoft.Json.JsonPropertyAttribute("limit")] public virtual System.Nullable Limit { get; set; } /// /// Aggregate the metrics by dimensions in this pivot using the specified metric_aggregations. /// [Newtonsoft.Json.JsonPropertyAttribute("metricAggregations")] public virtual System.Collections.Generic.IList MetricAggregations { get; set; } /// The row count of the start row. The first row is counted as row 0. [Newtonsoft.Json.JsonPropertyAttribute("offset")] public virtual System.Nullable Offset { get; set; } /// /// Specifies how dimensions are ordered in the pivot. In the first Pivot, the OrderBys determine Row and /// PivotDimensionHeader ordering; in subsequent Pivots, the OrderBys determine only PivotDimensionHeader /// ordering. Dimensions specified in these OrderBys must be a subset of Pivot.field_names. /// [Newtonsoft.Json.JsonPropertyAttribute("orderBys")] public virtual System.Collections.Generic.IList OrderBys { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// Summarizes dimension values from a row for this pivot. public class PivotDimensionHeader : Google.Apis.Requests.IDirectResponseSchema { /// Values of multiple dimensions in a pivot. [Newtonsoft.Json.JsonPropertyAttribute("dimensionValues")] public virtual System.Collections.Generic.IList DimensionValues { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// Dimensions' values in a single pivot. public class PivotHeader : Google.Apis.Requests.IDirectResponseSchema { /// The size is the same as the cardinality of the corresponding dimension combinations. [Newtonsoft.Json.JsonPropertyAttribute("pivotDimensionHeaders")] public virtual System.Collections.Generic.IList PivotDimensionHeaders { get; set; } /// /// The cardinality of the pivot. The total number of rows for this pivot's fields regardless of how the /// parameters `offset` and `limit` are specified in the request. /// [Newtonsoft.Json.JsonPropertyAttribute("rowCount")] public virtual System.Nullable RowCount { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// Sorts by a pivot column group. public class PivotOrderBy : Google.Apis.Requests.IDirectResponseSchema { /// /// In the response to order by, order rows by this column. Must be a metric name from the request. /// [Newtonsoft.Json.JsonPropertyAttribute("metricName")] public virtual string MetricName { get; set; } /// /// Used to select a dimension name and value pivot. If multiple pivot selections are given, the sort occurs on /// rows where all pivot selection dimension name and value pairs match the row's dimension name and value pair. /// [Newtonsoft.Json.JsonPropertyAttribute("pivotSelections")] public virtual System.Collections.Generic.IList PivotSelections { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// A pair of dimension names and values. Rows with this dimension pivot pair are ordered by the metric's value. For /// example if pivots = {{"browser", "Chrome"}} and metric_name = "Sessions", then the rows will be sorted based on /// Sessions in Chrome. ---------|----------|----------------|----------|---------------- | Chrome | Chrome | Safari /// | Safari ---------|----------|----------------|----------|---------------- Country | Sessions | Pages/Sessions | /// Sessions | Pages/Sessions ---------|----------|----------------|----------|---------------- US | 2 | 2 | 3 | 1 /// ---------|----------|----------------|----------|---------------- Canada | 3 | 1 | 4 | 1 /// ---------|----------|----------------|----------|---------------- /// public class PivotSelection : Google.Apis.Requests.IDirectResponseSchema { /// Must be a dimension name from the request. [Newtonsoft.Json.JsonPropertyAttribute("dimensionName")] public virtual string DimensionName { get; set; } /// Order by only when the named dimension is this value. [Newtonsoft.Json.JsonPropertyAttribute("dimensionValue")] public virtual string DimensionValue { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// Current state of all quotas for this Analytics Property. If any quota for a property is exhausted, all requests /// to that property will return Resource Exhausted errors. /// public class PropertyQuota : Google.Apis.Requests.IDirectResponseSchema { /// /// Standard Analytics Properties can send up to 10 concurrent requests; Analytics 360 Properties can use up to /// 50 concurrent requests. /// [Newtonsoft.Json.JsonPropertyAttribute("concurrentRequests")] public virtual QuotaStatus ConcurrentRequests { get; set; } /// /// Analytics Properties can send up to 120 requests with potentially thresholded dimensions per hour. In a /// batch request, each report request is individually counted for this quota if the request contains /// potentially thresholded dimensions. /// [Newtonsoft.Json.JsonPropertyAttribute("potentiallyThresholdedRequestsPerHour")] public virtual QuotaStatus PotentiallyThresholdedRequestsPerHour { get; set; } /// /// Standard Analytics Properties and cloud project pairs can have up to 10 server errors per hour; Analytics /// 360 Properties and cloud project pairs can have up to 50 server errors per hour. /// [Newtonsoft.Json.JsonPropertyAttribute("serverErrorsPerProjectPerHour")] public virtual QuotaStatus ServerErrorsPerProjectPerHour { get; set; } /// /// Standard Analytics Properties can use up to 200,000 tokens per day; Analytics 360 Properties can use /// 2,000,000 tokens per day. Most requests consume fewer than 10 tokens. /// [Newtonsoft.Json.JsonPropertyAttribute("tokensPerDay")] public virtual QuotaStatus TokensPerDay { get; set; } /// /// Standard Analytics Properties can use up to 40,000 tokens per hour; Analytics 360 Properties can use 400,000 /// tokens per hour. An API request consumes a single number of tokens, and that number is deducted from all of /// the hourly, daily, and per project hourly quotas. /// [Newtonsoft.Json.JsonPropertyAttribute("tokensPerHour")] public virtual QuotaStatus TokensPerHour { get; set; } /// /// Analytics Properties can use up to 35% of their tokens per project per hour. This amounts to standard /// Analytics Properties can use up to 14,000 tokens per project per hour, and Analytics 360 Properties can use /// 140,000 tokens per project per hour. An API request consumes a single number of tokens, and that number is /// deducted from all of the hourly, daily, and per project hourly quotas. /// [Newtonsoft.Json.JsonPropertyAttribute("tokensPerProjectPerHour")] public virtual QuotaStatus TokensPerProjectPerHour { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// A request to list users in an audience export. public class QueryAudienceExportRequest : Google.Apis.Requests.IDirectResponseSchema { /// /// Optional. The number of rows to return. If unspecified, 10,000 rows are returned. The API returns a maximum /// of 250,000 rows per request, no matter how many you ask for. `limit` must be positive. The API can also /// return fewer rows than the requested `limit`, if there aren't as many dimension values as the `limit`. To /// learn more about this pagination parameter, see /// [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). /// [Newtonsoft.Json.JsonPropertyAttribute("limit")] public virtual System.Nullable Limit { get; set; } /// /// Optional. The row count of the start row. The first row is counted as row 0. When paging, the first request /// does not specify offset; or equivalently, sets offset to 0; the first request returns the first `limit` of /// rows. The second request sets offset to the `limit` of the first request; the second request returns the /// second `limit` of rows. To learn more about this pagination parameter, see /// [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). /// [Newtonsoft.Json.JsonPropertyAttribute("offset")] public virtual System.Nullable Offset { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// A list of users in an audience export. public class QueryAudienceExportResponse : Google.Apis.Requests.IDirectResponseSchema { /// /// Configuration data about AudienceExport being queried. Returned to help interpret the audience rows in this /// response. For example, the dimensions in this AudienceExport correspond to the columns in the AudienceRows. /// [Newtonsoft.Json.JsonPropertyAttribute("audienceExport")] public virtual AudienceExport AudienceExport { get; set; } /// /// Rows for each user in an audience export. The number of rows in this response will be less than or equal to /// request's page size. /// [Newtonsoft.Json.JsonPropertyAttribute("audienceRows")] public virtual System.Collections.Generic.IList AudienceRows { get; set; } /// /// The total number of rows in the AudienceExport result. `rowCount` is independent of the number of rows /// returned in the response, the `limit` request parameter, and the `offset` request parameter. For example if /// a query returns 175 rows and includes `limit` of 50 in the API request, the response will contain `rowCount` /// of 175 but only 50 rows. To learn more about this pagination parameter, see /// [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). /// [Newtonsoft.Json.JsonPropertyAttribute("rowCount")] public virtual System.Nullable RowCount { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// Current state for a particular quota group. public class QuotaStatus : Google.Apis.Requests.IDirectResponseSchema { /// Quota consumed by this request. [Newtonsoft.Json.JsonPropertyAttribute("consumed")] public virtual System.Nullable Consumed { get; set; } /// Quota remaining after this request. [Newtonsoft.Json.JsonPropertyAttribute("remaining")] public virtual System.Nullable Remaining { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// Response's metadata carrying additional information about the report content. public class ResponseMetaData : Google.Apis.Requests.IDirectResponseSchema { /// /// The currency code used in this report. Intended to be used in formatting currency metrics like /// `purchaseRevenue` for visualization. If currency_code was specified in the request, this response parameter /// will echo the request parameter; otherwise, this response parameter is the property's current currency_code. /// Currency codes are string encodings of currency types from the ISO 4217 standard /// (https://en.wikipedia.org/wiki/ISO_4217); for example "USD", "EUR", "JPY". To learn more, see /// https://support.google.com/analytics/answer/9796179. /// [Newtonsoft.Json.JsonPropertyAttribute("currencyCode")] public virtual string CurrencyCode { get; set; } /// /// If true, indicates some buckets of dimension combinations are rolled into "(other)" row. This can happen for /// high cardinality reports. The metadata parameter dataLossFromOtherRow is populated based on the aggregated /// data table used in the report. The parameter will be accurately populated regardless of the filters and /// limits in the report. For example, the (other) row could be dropped from the report because the request /// contains a filter on sessionSource = google. This parameter will still be populated if data loss from other /// row was present in the input aggregate data used to generate this report. To learn more, see [About the /// (other) row and data sampling](https://support.google.com/analytics/answer/13208658#reports). /// [Newtonsoft.Json.JsonPropertyAttribute("dataLossFromOtherRow")] public virtual System.Nullable DataLossFromOtherRow { get; set; } /// If empty reason is specified, the report is empty for this reason. [Newtonsoft.Json.JsonPropertyAttribute("emptyReason")] public virtual string EmptyReason { get; set; } /// /// If this report results is [sampled](https://support.google.com/analytics/answer/13331292), this describes /// the percentage of events used in this report. One `samplingMetadatas` is populated for each date range. Each /// `samplingMetadatas` corresponds to a date range in order that date ranges were specified in the request. /// However if the results are not sampled, this field will not be defined. /// [Newtonsoft.Json.JsonPropertyAttribute("samplingMetadatas")] public virtual System.Collections.Generic.IList SamplingMetadatas { get; set; } /// /// Describes the schema restrictions actively enforced in creating this report. To learn more, see [Access and /// data-restriction management](https://support.google.com/analytics/answer/10851388). /// [Newtonsoft.Json.JsonPropertyAttribute("schemaRestrictionResponse")] public virtual SchemaRestrictionResponse SchemaRestrictionResponse { get; set; } /// /// If `subjectToThresholding` is true, this report is subject to thresholding and only returns data that meets /// the minimum aggregation thresholds. It is possible for a request to be subject to thresholding thresholding /// and no data is absent from the report, and this happens when all data is above the thresholds. To learn /// more, see [Data thresholds](https://support.google.com/analytics/answer/9383630). /// [Newtonsoft.Json.JsonPropertyAttribute("subjectToThresholding")] public virtual System.Nullable SubjectToThresholding { get; set; } /// /// The property's current timezone. Intended to be used to interpret time-based dimensions like `hour` and /// `minute`. Formatted as strings from the IANA Time Zone database (https://www.iana.org/time-zones); for /// example "America/New_York" or "Asia/Tokyo". /// [Newtonsoft.Json.JsonPropertyAttribute("timeZone")] public virtual string TimeZone { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// Report data for each row. For example if RunReportRequest contains: /// ``` /// none "dimensions": [ { "name": /// "eventName" }, { "name": "countryId" } ], "metrics": [ { "name": "eventCount" } ] /// ``` /// One row with /// 'in_app_purchase' as the eventName, 'JP' as the countryId, and 15 as the eventCount, would be: /// ``` /// none /// "dimensionValues": [ { "value": "in_app_purchase" }, { "value": "JP" } ], "metricValues": [ { "value": "15" } ] /// ``` /// public class Row : Google.Apis.Requests.IDirectResponseSchema { /// /// List of requested dimension values. In a PivotReport, dimension_values are only listed for dimensions /// included in a pivot. /// [Newtonsoft.Json.JsonPropertyAttribute("dimensionValues")] public virtual System.Collections.Generic.IList DimensionValues { get; set; } /// List of requested visible metric values. [Newtonsoft.Json.JsonPropertyAttribute("metricValues")] public virtual System.Collections.Generic.IList MetricValues { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// The request to generate a pivot report. public class RunPivotReportRequest : Google.Apis.Requests.IDirectResponseSchema { /// /// Cohort group associated with this request. If there is a cohort group in the request the 'cohort' dimension /// must be present. /// [Newtonsoft.Json.JsonPropertyAttribute("cohortSpec")] public virtual CohortSpec CohortSpec { get; set; } /// /// Optional. The configuration of comparisons requested and displayed. The request requires both a comparisons /// field and a comparisons dimension to receive a comparison column in the response. /// [Newtonsoft.Json.JsonPropertyAttribute("comparisons")] public virtual System.Collections.Generic.IList Comparisons { get; set; } /// /// A currency code in ISO4217 format, such as "AED", "USD", "JPY". If the field is empty, the report uses the /// property's default currency. /// [Newtonsoft.Json.JsonPropertyAttribute("currencyCode")] public virtual string CurrencyCode { get; set; } /// /// The date range to retrieve event data for the report. If multiple date ranges are specified, event data from /// each date range is used in the report. A special dimension with field name "dateRange" can be included in a /// Pivot's field names; if included, the report compares between date ranges. In a cohort request, this /// `dateRanges` must be unspecified. /// [Newtonsoft.Json.JsonPropertyAttribute("dateRanges")] public virtual System.Collections.Generic.IList DateRanges { get; set; } /// /// The filter clause of dimensions. Dimensions must be requested to be used in this filter. Metrics cannot be /// used in this filter. /// [Newtonsoft.Json.JsonPropertyAttribute("dimensionFilter")] public virtual FilterExpression DimensionFilter { get; set; } /// /// The dimensions requested. All defined dimensions must be used by one of the following: dimension_expression, /// dimension_filter, pivots, order_bys. /// [Newtonsoft.Json.JsonPropertyAttribute("dimensions")] public virtual System.Collections.Generic.IList Dimensions { get; set; } /// /// If false or unspecified, each row with all metrics equal to 0 will not be returned. If true, these rows will /// be returned if they are not separately removed by a filter. Regardless of this `keep_empty_rows` setting, /// only data recorded by the Google Analytics property can be displayed in a report. For example if a property /// never logs a `purchase` event, then a query for the `eventName` dimension and `eventCount` metric will not /// have a row eventName: "purchase" and eventCount: 0. /// [Newtonsoft.Json.JsonPropertyAttribute("keepEmptyRows")] public virtual System.Nullable KeepEmptyRows { get; set; } /// /// The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Metrics must /// be requested to be used in this filter. Dimensions cannot be used in this filter. /// [Newtonsoft.Json.JsonPropertyAttribute("metricFilter")] public virtual FilterExpression MetricFilter { get; set; } /// /// The metrics requested, at least one metric needs to be specified. All defined metrics must be used by one of /// the following: metric_expression, metric_filter, order_bys. /// [Newtonsoft.Json.JsonPropertyAttribute("metrics")] public virtual System.Collections.Generic.IList Metrics { get; set; } /// /// Describes the visual format of the report's dimensions in columns or rows. The union of the fieldNames /// (dimension names) in all pivots must be a subset of dimension names defined in Dimensions. No two pivots can /// share a dimension. A dimension is only visible if it appears in a pivot. /// [Newtonsoft.Json.JsonPropertyAttribute("pivots")] public virtual System.Collections.Generic.IList Pivots { get; set; } /// /// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body. /// To learn more, see [where to find your Property /// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Within a batch /// request, this property should either be unspecified or consistent with the batch-level property. Example: /// properties/1234 /// [Newtonsoft.Json.JsonPropertyAttribute("property")] public virtual string Property { get; set; } /// /// Toggles whether to return the current state of this Google Analytics property's quota. Quota is returned in /// [PropertyQuota](#PropertyQuota). /// [Newtonsoft.Json.JsonPropertyAttribute("returnPropertyQuota")] public virtual System.Nullable ReturnPropertyQuota { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// The response pivot report table corresponding to a pivot request. public class RunPivotReportResponse : Google.Apis.Requests.IDirectResponseSchema { /// /// Aggregation of metric values. Can be totals, minimums, or maximums. The returned aggregations are controlled /// by the metric_aggregations in the pivot. The type of aggregation returned in each row is shown by the /// dimension_values which are set to "RESERVED_". /// [Newtonsoft.Json.JsonPropertyAttribute("aggregates")] public virtual System.Collections.Generic.IList Aggregates { get; set; } /// /// Describes dimension columns. The number of DimensionHeaders and ordering of DimensionHeaders matches the /// dimensions present in rows. /// [Newtonsoft.Json.JsonPropertyAttribute("dimensionHeaders")] public virtual System.Collections.Generic.IList DimensionHeaders { get; set; } /// /// Identifies what kind of resource this message is. This `kind` is always the fixed string /// "analyticsData#runPivotReport". Useful to distinguish between response types in JSON. /// [Newtonsoft.Json.JsonPropertyAttribute("kind")] public virtual string Kind { get; set; } /// Metadata for the report. [Newtonsoft.Json.JsonPropertyAttribute("metadata")] public virtual ResponseMetaData Metadata { get; set; } /// /// Describes metric columns. The number of MetricHeaders and ordering of MetricHeaders matches the metrics /// present in rows. /// [Newtonsoft.Json.JsonPropertyAttribute("metricHeaders")] public virtual System.Collections.Generic.IList MetricHeaders { get; set; } /// /// Summarizes the columns and rows created by a pivot. Each pivot in the request produces one header in the /// response. If we have a request like this: "pivots": [{ "fieldNames": ["country", "city"] }, { "fieldNames": /// "eventName" }] We will have the following `pivotHeaders` in the response: "pivotHeaders" : [{ /// "dimensionHeaders": [{ "dimensionValues": [ { "value": "United Kingdom" }, { "value": "London" } ] }, { /// "dimensionValues": [ { "value": "Japan" }, { "value": "Osaka" } ] }] }, { "dimensionHeaders": [{ /// "dimensionValues": [{ "value": "session_start" }] }, { "dimensionValues": [{ "value": "scroll" }] }] }] /// [Newtonsoft.Json.JsonPropertyAttribute("pivotHeaders")] public virtual System.Collections.Generic.IList PivotHeaders { get; set; } /// This Google Analytics property's quota state including this request. [Newtonsoft.Json.JsonPropertyAttribute("propertyQuota")] public virtual PropertyQuota PropertyQuota { get; set; } /// Rows of dimension value combinations and metric values in the report. [Newtonsoft.Json.JsonPropertyAttribute("rows")] public virtual System.Collections.Generic.IList Rows { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// The request to generate a realtime report. public class RunRealtimeReportRequest : Google.Apis.Requests.IDirectResponseSchema { /// The filter clause of dimensions. Metrics cannot be used in this filter. [Newtonsoft.Json.JsonPropertyAttribute("dimensionFilter")] public virtual FilterExpression DimensionFilter { get; set; } /// The dimensions requested and displayed. [Newtonsoft.Json.JsonPropertyAttribute("dimensions")] public virtual System.Collections.Generic.IList Dimensions { get; set; } /// /// The number of rows to return. If unspecified, 10,000 rows are returned. The API returns a maximum of 250,000 /// rows per request, no matter how many you ask for. `limit` must be positive. The API can also return fewer /// rows than the requested `limit`, if there aren't as many dimension values as the `limit`. For instance, /// there are fewer than 300 possible values for the dimension `country`, so when reporting on only `country`, /// you can't get more than 300 rows, even if you set `limit` to a higher value. /// [Newtonsoft.Json.JsonPropertyAttribute("limit")] public virtual System.Nullable Limit { get; set; } /// /// Aggregation of metrics. Aggregated metric values will be shown in rows where the dimension_values are set to /// "RESERVED_(MetricAggregation)". /// [Newtonsoft.Json.JsonPropertyAttribute("metricAggregations")] public virtual System.Collections.Generic.IList MetricAggregations { get; set; } /// /// The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Dimensions /// cannot be used in this filter. /// [Newtonsoft.Json.JsonPropertyAttribute("metricFilter")] public virtual FilterExpression MetricFilter { get; set; } /// The metrics requested and displayed. [Newtonsoft.Json.JsonPropertyAttribute("metrics")] public virtual System.Collections.Generic.IList Metrics { get; set; } /// /// The minute ranges of event data to read. If unspecified, one minute range for the last 30 minutes will be /// used. If multiple minute ranges are requested, each response row will contain a zero based minute range /// index. If two minute ranges overlap, the event data for the overlapping minutes is included in the response /// rows for both minute ranges. /// [Newtonsoft.Json.JsonPropertyAttribute("minuteRanges")] public virtual System.Collections.Generic.IList MinuteRanges { get; set; } /// Specifies how rows are ordered in the response. [Newtonsoft.Json.JsonPropertyAttribute("orderBys")] public virtual System.Collections.Generic.IList OrderBys { get; set; } /// /// Toggles whether to return the current state of this Google Analytics property's Realtime quota. Quota is /// returned in [PropertyQuota](#PropertyQuota). /// [Newtonsoft.Json.JsonPropertyAttribute("returnPropertyQuota")] public virtual System.Nullable ReturnPropertyQuota { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// The response realtime report table corresponding to a request. public class RunRealtimeReportResponse : Google.Apis.Requests.IDirectResponseSchema { /// /// Describes dimension columns. The number of DimensionHeaders and ordering of DimensionHeaders matches the /// dimensions present in rows. /// [Newtonsoft.Json.JsonPropertyAttribute("dimensionHeaders")] public virtual System.Collections.Generic.IList DimensionHeaders { get; set; } /// /// Identifies what kind of resource this message is. This `kind` is always the fixed string /// "analyticsData#runRealtimeReport". Useful to distinguish between response types in JSON. /// [Newtonsoft.Json.JsonPropertyAttribute("kind")] public virtual string Kind { get; set; } /// If requested, the maximum values of metrics. [Newtonsoft.Json.JsonPropertyAttribute("maximums")] public virtual System.Collections.Generic.IList Maximums { get; set; } /// /// Describes metric columns. The number of MetricHeaders and ordering of MetricHeaders matches the metrics /// present in rows. /// [Newtonsoft.Json.JsonPropertyAttribute("metricHeaders")] public virtual System.Collections.Generic.IList MetricHeaders { get; set; } /// If requested, the minimum values of metrics. [Newtonsoft.Json.JsonPropertyAttribute("minimums")] public virtual System.Collections.Generic.IList Minimums { get; set; } /// This Google Analytics property's Realtime quota state including this request. [Newtonsoft.Json.JsonPropertyAttribute("propertyQuota")] public virtual PropertyQuota PropertyQuota { get; set; } /// /// The total number of rows in the query result. `rowCount` is independent of the number of rows returned in /// the response and the `limit` request parameter. For example if a query returns 175 rows and includes `limit` /// of 50 in the API request, the response will contain `rowCount` of 175 but only 50 rows. /// [Newtonsoft.Json.JsonPropertyAttribute("rowCount")] public virtual System.Nullable RowCount { get; set; } /// Rows of dimension value combinations and metric values in the report. [Newtonsoft.Json.JsonPropertyAttribute("rows")] public virtual System.Collections.Generic.IList Rows { get; set; } /// If requested, the totaled values of metrics. [Newtonsoft.Json.JsonPropertyAttribute("totals")] public virtual System.Collections.Generic.IList Totals { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// The request to generate a report. public class RunReportRequest : Google.Apis.Requests.IDirectResponseSchema { /// /// Cohort group associated with this request. If there is a cohort group in the request the 'cohort' dimension /// must be present. /// [Newtonsoft.Json.JsonPropertyAttribute("cohortSpec")] public virtual CohortSpec CohortSpec { get; set; } /// /// Optional. The configuration of comparisons requested and displayed. The request only requires a comparisons /// field in order to receive a comparison column in the response. /// [Newtonsoft.Json.JsonPropertyAttribute("comparisons")] public virtual System.Collections.Generic.IList Comparisons { get; set; } /// /// A currency code in ISO4217 format, such as "AED", "USD", "JPY". If the field is empty, the report uses the /// property's default currency. /// [Newtonsoft.Json.JsonPropertyAttribute("currencyCode")] public virtual string CurrencyCode { get; set; } /// /// Date ranges of data to read. If multiple date ranges are requested, each response row will contain a zero /// based date range index. If two date ranges overlap, the event data for the overlapping days is included in /// the response rows for both date ranges. In a cohort request, this `dateRanges` must be unspecified. /// [Newtonsoft.Json.JsonPropertyAttribute("dateRanges")] public virtual System.Collections.Generic.IList DateRanges { get; set; } /// /// Dimension filters let you ask for only specific dimension values in the report. To learn more, see /// [Fundamentals of Dimension /// Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) for /// examples. Metrics cannot be used in this filter. /// [Newtonsoft.Json.JsonPropertyAttribute("dimensionFilter")] public virtual FilterExpression DimensionFilter { get; set; } /// The dimensions requested and displayed. [Newtonsoft.Json.JsonPropertyAttribute("dimensions")] public virtual System.Collections.Generic.IList Dimensions { get; set; } /// /// If false or unspecified, each row with all metrics equal to 0 will not be returned. If true, these rows will /// be returned if they are not separately removed by a filter. Regardless of this `keep_empty_rows` setting, /// only data recorded by the Google Analytics property can be displayed in a report. For example if a property /// never logs a `purchase` event, then a query for the `eventName` dimension and `eventCount` metric will not /// have a row eventName: "purchase" and eventCount: 0. /// [Newtonsoft.Json.JsonPropertyAttribute("keepEmptyRows")] public virtual System.Nullable KeepEmptyRows { get; set; } /// /// The number of rows to return. If unspecified, 10,000 rows are returned. The API returns a maximum of 250,000 /// rows per request, no matter how many you ask for. `limit` must be positive. The API can also return fewer /// rows than the requested `limit`, if there aren't as many dimension values as the `limit`. For instance, /// there are fewer than 300 possible values for the dimension `country`, so when reporting on only `country`, /// you can't get more than 300 rows, even if you set `limit` to a higher value. To learn more about this /// pagination parameter, see /// [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). /// [Newtonsoft.Json.JsonPropertyAttribute("limit")] public virtual System.Nullable Limit { get; set; } /// /// Aggregation of metrics. Aggregated metric values will be shown in rows where the dimension_values are set to /// "RESERVED_(MetricAggregation)". Aggregates including both comparisons and multiple date ranges will be /// aggregated based on the date ranges. /// [Newtonsoft.Json.JsonPropertyAttribute("metricAggregations")] public virtual System.Collections.Generic.IList MetricAggregations { get; set; } /// /// The filter clause of metrics. Applied after aggregating the report's rows, similar to SQL having-clause. /// Dimensions cannot be used in this filter. /// [Newtonsoft.Json.JsonPropertyAttribute("metricFilter")] public virtual FilterExpression MetricFilter { get; set; } /// The metrics requested and displayed. [Newtonsoft.Json.JsonPropertyAttribute("metrics")] public virtual System.Collections.Generic.IList Metrics { get; set; } /// /// The row count of the start row. The first row is counted as row 0. When paging, the first request does not /// specify offset; or equivalently, sets offset to 0; the first request returns the first `limit` of rows. The /// second request sets offset to the `limit` of the first request; the second request returns the second /// `limit` of rows. To learn more about this pagination parameter, see /// [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). /// [Newtonsoft.Json.JsonPropertyAttribute("offset")] public virtual System.Nullable Offset { get; set; } /// /// Specifies how rows are ordered in the response. Requests including both comparisons and multiple date ranges /// will have order bys applied on the comparisons. /// [Newtonsoft.Json.JsonPropertyAttribute("orderBys")] public virtual System.Collections.Generic.IList OrderBys { get; set; } /// /// A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body. /// To learn more, see [where to find your Property /// ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Within a batch /// request, this property should either be unspecified or consistent with the batch-level property. Example: /// properties/1234 /// [Newtonsoft.Json.JsonPropertyAttribute("property")] public virtual string Property { get; set; } /// /// Toggles whether to return the current state of this Google Analytics property's quota. Quota is returned in /// [PropertyQuota](#PropertyQuota). /// [Newtonsoft.Json.JsonPropertyAttribute("returnPropertyQuota")] public virtual System.Nullable ReturnPropertyQuota { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// The response report table corresponding to a request. public class RunReportResponse : Google.Apis.Requests.IDirectResponseSchema { /// /// Describes dimension columns. The number of DimensionHeaders and ordering of DimensionHeaders matches the /// dimensions present in rows. /// [Newtonsoft.Json.JsonPropertyAttribute("dimensionHeaders")] public virtual System.Collections.Generic.IList DimensionHeaders { get; set; } /// /// Identifies what kind of resource this message is. This `kind` is always the fixed string /// "analyticsData#runReport". Useful to distinguish between response types in JSON. /// [Newtonsoft.Json.JsonPropertyAttribute("kind")] public virtual string Kind { get; set; } /// If requested, the maximum values of metrics. [Newtonsoft.Json.JsonPropertyAttribute("maximums")] public virtual System.Collections.Generic.IList Maximums { get; set; } /// Metadata for the report. [Newtonsoft.Json.JsonPropertyAttribute("metadata")] public virtual ResponseMetaData Metadata { get; set; } /// /// Describes metric columns. The number of MetricHeaders and ordering of MetricHeaders matches the metrics /// present in rows. /// [Newtonsoft.Json.JsonPropertyAttribute("metricHeaders")] public virtual System.Collections.Generic.IList MetricHeaders { get; set; } /// If requested, the minimum values of metrics. [Newtonsoft.Json.JsonPropertyAttribute("minimums")] public virtual System.Collections.Generic.IList Minimums { get; set; } /// This Google Analytics property's quota state including this request. [Newtonsoft.Json.JsonPropertyAttribute("propertyQuota")] public virtual PropertyQuota PropertyQuota { get; set; } /// /// The total number of rows in the query result. `rowCount` is independent of the number of rows returned in /// the response, the `limit` request parameter, and the `offset` request parameter. For example if a query /// returns 175 rows and includes `limit` of 50 in the API request, the response will contain `rowCount` of 175 /// but only 50 rows. To learn more about this pagination parameter, see /// [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination). /// [Newtonsoft.Json.JsonPropertyAttribute("rowCount")] public virtual System.Nullable RowCount { get; set; } /// Rows of dimension value combinations and metric values in the report. [Newtonsoft.Json.JsonPropertyAttribute("rows")] public virtual System.Collections.Generic.IList Rows { get; set; } /// If requested, the totaled values of metrics. [Newtonsoft.Json.JsonPropertyAttribute("totals")] public virtual System.Collections.Generic.IList Totals { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// If this report results is [sampled](https://support.google.com/analytics/answer/13331292), this describes the /// percentage of events used in this report. Sampling is the practice of analyzing a subset of all data in order to /// uncover the meaningful information in the larger data set. /// public class SamplingMetadata : Google.Apis.Requests.IDirectResponseSchema { /// /// The total number of events read in this sampled report for a date range. This is the size of the subset this /// property's data that was analyzed in this report. /// [Newtonsoft.Json.JsonPropertyAttribute("samplesReadCount")] public virtual System.Nullable SamplesReadCount { get; set; } /// /// The total number of events present in this property's data that could have been analyzed in this report for /// a date range. Sampling uncovers the meaningful information about the larger data set, and this is the size /// of the larger data set. To calculate the percentage of available data that was used in this report, compute /// `samplesReadCount/samplingSpaceSize`. /// [Newtonsoft.Json.JsonPropertyAttribute("samplingSpaceSize")] public virtual System.Nullable SamplingSpaceSize { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// The schema restrictions actively enforced in creating this report. To learn more, see [Access and /// data-restriction management](https://support.google.com/analytics/answer/10851388). /// public class SchemaRestrictionResponse : Google.Apis.Requests.IDirectResponseSchema { /// /// All restrictions actively enforced in creating the report. For example, `purchaseRevenue` always has the /// restriction type `REVENUE_DATA`. However, this active response restriction is only populated if the user's /// custom role disallows access to `REVENUE_DATA`. /// [Newtonsoft.Json.JsonPropertyAttribute("activeMetricRestrictions")] public virtual System.Collections.Generic.IList ActiveMetricRestrictions { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// The `Status` type defines a logical error model that is suitable for different programming environments, /// including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains /// three pieces of data: error code, error message, and error details. You can find out more about this error model /// and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). /// public class Status : Google.Apis.Requests.IDirectResponseSchema { /// The status code, which should be an enum value of google.rpc.Code. [Newtonsoft.Json.JsonPropertyAttribute("code")] public virtual System.Nullable Code { get; set; } /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// [Newtonsoft.Json.JsonPropertyAttribute("details")] public virtual System.Collections.Generic.IList> Details { get; set; } /// /// A developer-facing error message, which should be in English. Any user-facing error message should be /// localized and sent in the google.rpc.Status.details field, or localized by the client. /// [Newtonsoft.Json.JsonPropertyAttribute("message")] public virtual string Message { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// The filter for string public class StringFilter : Google.Apis.Requests.IDirectResponseSchema { /// If true, the string value is case sensitive. [Newtonsoft.Json.JsonPropertyAttribute("caseSensitive")] public virtual System.Nullable CaseSensitive { get; set; } /// The match type for this filter. [Newtonsoft.Json.JsonPropertyAttribute("matchType")] public virtual string MatchType { get; set; } /// The string value used for the matching. [Newtonsoft.Json.JsonPropertyAttribute("value")] public virtual string Value { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// /// An audience dimension is a user attribute. Specific user attributed are requested and then later returned in the /// `QueryAudienceExportResponse`. /// public class V1betaAudienceDimension : Google.Apis.Requests.IDirectResponseSchema { /// /// Optional. The API name of the dimension. See the [API /// Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-api-schema#dimensions) /// for the list of dimension names. /// [Newtonsoft.Json.JsonPropertyAttribute("dimensionName")] public virtual string DimensionName { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// The value of a dimension. public class V1betaAudienceDimensionValue : Google.Apis.Requests.IDirectResponseSchema { /// Value as a string if the dimension type is a string. [Newtonsoft.Json.JsonPropertyAttribute("value")] public virtual string Value { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// Dimension value attributes for the audience user row. public class V1betaAudienceRow : Google.Apis.Requests.IDirectResponseSchema { /// /// Each dimension value attribute for an audience user. One dimension value will be added for each dimension /// column requested. /// [Newtonsoft.Json.JsonPropertyAttribute("dimensionValues")] public virtual System.Collections.Generic.IList DimensionValues { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } }