Google Analytics · Schema

RunPivotReportRequest

The request to generate a pivot report.

AnalyticsDataGoogleMetricsReportingWeb AnalyticsMachine-LearningAttribution

Properties

Name Type Description
cohortSpec object Cohort group associated with this request. If there is a cohort group in the request the 'cohort' dimension must be present.
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.
dateRanges array 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
dimensionFilter object The filter clause of dimensions. Dimensions must be requested to be used in this filter. Metrics cannot be used in this filter.
dimensions array The dimensions requested. All defined dimensions must be used by one of the following: dimension_expression, dimension_filter, pivots, order_bys.
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 `keep_empty_
metricFilter object 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.
metrics array 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.
pivots array 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
property string 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/analy
returnPropertyQuota boolean Toggles whether to return the current state of this Analytics Property's quota. Quota is returned in [PropertyQuota](#PropertyQuota).
View JSON Schema on GitHub

JSON Schema

google-analytics-runpivotreportrequest-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/RunPivotReportRequest",
  "title": "RunPivotReportRequest",
  "description": "The request to generate a pivot 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": "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.",
      "items": {
        "$ref": "#/components/schemas/DateRange"
      },
      "type": "array"
    },
    "dimensionFilter": {
      "$ref": "#/components/schemas/FilterExpression",
      "description": "The filter clause of dimensions. Dimensions must be requested to be used in this filter. Metrics cannot be used in this filter."
    },
    "dimensions": {
      "description": "The dimensions requested. All defined dimensions must be used by one of the following: dimension_expression, dimension_filter, pivots, order_bys.",
      "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"
    },
    "metricFilter": {
      "$ref": "#/components/schemas/FilterExpression",
      "description": "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."
    },
    "metrics": {
      "description": "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.",
      "items": {
        "$ref": "#/components/schemas/Metric"
      },
      "type": "array"
    },
    "pivots": {
      "description": "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.",
      "items": {
        "$ref": "#/components/schemas/Pivot"
      },
      "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"
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/google-analytics-runpivotreportrequest"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.