{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/RunReportRequest", "title": "RunReportRequest", "description": "The request to generate a report.", "properties": { "cohortSpec": { "$ref": "#/components/schemas/CohortSpec", "description": "Cohort group associated with this request. If there is a cohort group in the request the 'cohort' dimension must be present." }, "currencyCode": { "description": "A currency code in ISO4217 format, such as \"AED\", \"USD\", \"JPY\". If the field is empty, the report uses the property's default currency.", "type": "string" }, "dateRanges": { "description": "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.", "items": { "$ref": "#/components/schemas/DateRange" }, "type": "array" }, "dimensionFilter": { "$ref": "#/components/schemas/FilterExpression", "description": "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." }, "dimensions": { "description": "The dimensions requested and displayed.", "items": { "$ref": "#/components/schemas/Dimension" }, "type": "array" }, "keepEmptyRows": { "description": "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 (GA4) 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.", "type": "boolean" }, "limit": { "description": "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).", "format": "int64", "type": "string" }, "metricAggregations": { "description": "Aggregation of metrics. Aggregated metric values will be shown in rows where the dimension_values are set to \"RESERVED_(MetricAggregation)\".", "items": { "enum": [ "METRIC_AGGREGATION_UNSPECIFIED", "TOTAL", "MINIMUM", "MAXIMUM", "COUNT" ], "type": "string" }, "type": "array" }, "metricFilter": { "$ref": "#/components/schemas/FilterExpression", "description": "The filter clause of metrics. Applied after aggregating the report's rows, similar to SQL having-clause. Dimensions cannot be used in this filter." }, "metrics": { "description": "The metrics requested and displayed.", "items": { "$ref": "#/components/schemas/Metric" }, "type": "array" }, "offset": { "description": "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).", "format": "int64", "type": "string" }, "orderBys": { "description": "Specifies how rows are ordered in the response.", "items": { "$ref": "#/components/schemas/OrderBy" }, "type": "array" }, "property": { "description": "A Google Analytics GA4 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", "type": "string" }, "returnPropertyQuota": { "description": "Toggles whether to return the current state of this Analytics Property's quota. Quota is returned in [PropertyQuota](#PropertyQuota).", "type": "boolean" } }, "type": "object" }