{ "type": "object", "description": "Definition of an analytics report request", "properties": { "rsid": { "type": "string", "description": "The report suite ID to run the report against", "example": "examplersid" }, "locale": { "type": "string", "description": "Locale for response labels", "example": "en_US" }, "globalFilters": { "type": "array", "description": "List of global filters applied to the entire report", "example": [], "items": { "type": "object", "description": "A filter applied to a report", "properties": { "type": { "type": "string", "description": "Filter type", "example": "dateRange", "enum": [ "dateRange", "breakdown", "segment" ] }, "dateRange": { "type": "string", "description": "ISO 8601 date range (e.g. 2024-01-01T00:00:00/2024-01-31T23:59:59)", "example": "example_value" }, "segmentId": { "type": "string", "description": "ID of an existing segment to apply as a filter", "example": "500123" }, "dimension": { "type": "string", "description": "Dimension for breakdown filter", "example": "example_value" }, "itemId": { "type": "string", "description": "Dimension item ID for breakdown filter", "example": "500123" } }, "required": [ "type" ] } }, "metricContainer": { "type": "object", "description": "Container defining the metrics to include in a report", "properties": { "metrics": { "type": "array", "example": [], "items": { "type": "object", "description": "A metric included in a report request", "properties": { "id": { "type": "string", "description": "The metric ID (e.g. metrics/visits)", "example": "abc123" }, "columnId": { "type": "string", "description": "Column identifier for this metric in the response", "example": "500123" }, "filters": { "type": "array", "description": "Metric-level filter IDs referencing metricFilters", "example": [], "items": { "type": "string" } }, "sort": { "type": "string", "description": "Sort direction for this metric", "example": "ASC", "enum": [ "ASC", "DESC" ] } }, "required": [ "id" ] } }, "metricFilters": { "type": "array", "description": "Filters applied at the metric level", "example": [], "items": { "type": "object", "description": "A filter applied to a report", "properties": { "type": { "type": "string", "description": "Filter type", "example": "dateRange", "enum": [ "dateRange", "breakdown", "segment" ] }, "dateRange": { "type": "string", "description": "ISO 8601 date range (e.g. 2024-01-01T00:00:00/2024-01-31T23:59:59)", "example": "example_value" }, "segmentId": { "type": "string", "description": "ID of an existing segment to apply as a filter", "example": "500123" }, "dimension": { "type": "string", "description": "Dimension for breakdown filter", "example": "example_value" }, "itemId": { "type": "string", "description": "Dimension item ID for breakdown filter", "example": "500123" } }, "required": [ "type" ] } } }, "required": [ "metrics" ] }, "dimension": { "type": "string", "description": "The primary dimension ID for the report (e.g. variables/page)", "example": "variables/page" }, "settings": { "type": "object", "description": "Settings that control report output behavior", "properties": { "limit": { "type": "integer", "description": "Maximum number of rows to return", "example": 10 }, "page": { "type": "integer", "description": "Page number (zero-indexed)", "example": 10 }, "nonesBehavior": { "type": "string", "description": "How to handle None values", "example": "exclude-nones", "enum": [ "exclude-nones", "return-nones" ] } } }, "statistics": { "type": "object", "description": "Statistical settings for the report", "example": "example_value" } }, "required": [ "rsid", "globalFilters", "metricContainer" ], "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "ReportRequest" }