- [HTTP request](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/batchRunPivotReports#body.HTTP_TEMPLATE)
- [Path parameters](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/batchRunPivotReports#body.PATH_PARAMETERS)
- [Request body](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/batchRunPivotReports#body.request_body)
  - [JSON representation](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/batchRunPivotReports#body.request_body.SCHEMA_REPRESENTATION)
- [Response body](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/batchRunPivotReports#body.response_body)
  - [JSON representation](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/batchRunPivotReports#body.BatchRunPivotReportsResponse.SCHEMA_REPRESENTATION)
- [Authorization scopes](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/batchRunPivotReports#body.aspect)
- [RunPivotReportRequest](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/batchRunPivotReports#RunPivotReportRequest)
  - [JSON representation](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/batchRunPivotReports#RunPivotReportRequest.SCHEMA_REPRESENTATION)
- [Try it!](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/batchRunPivotReports#try-it)

Returns multiple pivot reports in a batch. All reports must be for the same Google Analytics property.

### HTTP request

`POST https://analyticsdata.googleapis.com/v1beta/{property=properties/*}:batchRunPivotReports`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Path parameters

| Parameters ||
|---|---|
| `property` | `string` 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 |

### Request body

The request body contains data with the following structure:

| JSON representation |
|---|
| ``` { "requests": [ { object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/batchRunPivotReports#RunPivotReportRequest`) } ] } ``` |

| Fields ||
|---|---|
| `requests[]` | ``object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/batchRunPivotReports#RunPivotReportRequest`)`` Individual requests. Each request has a separate pivot report response. Each batch request is allowed up to 5 requests. |

### Response body

The batch response containing multiple pivot reports.

If successful, the response body contains data with the following structure:

| JSON representation |
|---|
| ``` { "pivotReports": [ { object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/RunPivotReportResponse`) } ], "kind": string } ``` |

| Fields ||
|---|---|
| `pivotReports[]` | ``object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/RunPivotReportResponse`)`` Individual responses. Each response has a separate pivot report request. |
| `kind` | `string` 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. |

### Authorization scopes

Requires one of the following OAuth scopes:

- `https://www.googleapis.com/auth/analytics.readonly`
- `https://www.googleapis.com/auth/analytics`

## RunPivotReportRequest

The request to generate a pivot report.

| JSON representation |
|---|
| ``` { "property": string, "dimensions": [ { object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/Dimension`) } ], "metrics": [ { object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/Metric`) } ], "dateRanges": [ { object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/DateRange`) } ], "pivots": [ { object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/Pivot`) } ], "dimensionFilter": { object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/FilterExpression`) }, "metricFilter": { object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/FilterExpression`) }, "currencyCode": string, "cohortSpec": { object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/CohortSpec`) }, "keepEmptyRows": boolean, "returnPropertyQuota": boolean, "comparisons": [ { object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/Comparison`) } ] } ``` |

| Fields ||
|---|---|
| `property` | `string` 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 |
| `dimensions[]` | ``object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/Dimension`)`` The dimensions requested. All defined dimensions must be used by one of the following: dimensionExpression, dimensionFilter, pivots, orderBys. |
| `metrics[]` | ``object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/Metric`)`` The metrics requested, at least one metric needs to be specified. All defined metrics must be used by one of the following: metric_expression, metricFilter, orderBys. |
| `dateRanges[]` | ``object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/DateRange`)`` 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. |
| `pivots[]` | ``object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/Pivot`)`` 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. |
| `dimensionFilter` | ``object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/FilterExpression`)`` The filter clause of dimensions. Dimensions must be requested to be used in this filter. Metrics cannot be used in this filter. |
| `metricFilter` | ``object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/FilterExpression`)`` 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. |
| `currencyCode` | `string` A currency code in ISO4217 format, such as "AED", "USD", "JPY". If the field is empty, the report uses the property's default currency. |
| `cohortSpec` | ``object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/CohortSpec`)`` Cohort group associated with this request. If there is a cohort group in the request the 'cohort' dimension must be present. |
| `keepEmptyRows` | `boolean` 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 `keepEmptyRows` 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. |
| `returnPropertyQuota` | `boolean` Toggles whether to return the current state of this Google Analytics property's quota. Quota is returned in [PropertyQuota](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/batchRunPivotReports#PropertyQuota). |
| `comparisons[]` | ``object (`https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/Comparison`)`` 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. |