{"openapi":"3.1.0","info":{"title":"Ferrule Google Analytics API","version":"1.0.0","description":"REST API for Google Analytics via the Ferrule gateway.","contact":{"name":"Ferrule","url":"https://ferrule.io"}},"servers":[{"url":"https://0.0.0.0:3000","description":"Ferrule gateway"}],"paths":{"/api/v1/google-analyticsdata/properties/{property}/reports{run}":{"post":{"operationId":"google-analyticsdata.run_report","description":"Run a standard report on a GA4 property. Returns dimension and metric data for the given date range. Supports filtering, sorting, pagination, and aggregation.","tags":["google-analyticsdata"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"property","schema":{"type":"string","description":"GA4 property ID (e.g. 123456)"},"required":true,"description":"GA4 property ID (e.g. 123456)"},{"in":"query","name":"dimensions","schema":{"description":"Array of dimension objects, e.g. [{name: 'city'}]. See GA4 dimension reference."}},{"in":"query","name":"metrics","schema":{"description":"Array of metric objects, e.g. [{name: 'activeUsers'}]. See GA4 metric reference."}},{"in":"query","name":"dateRanges","schema":{"description":"Array of date range objects, e.g. [{startDate: '2024-01-01', endDate: '2024-01-31'}]."}},{"in":"query","name":"dimensionFilter","schema":{"description":"Filter clause for dimensions."}},{"in":"query","name":"metricFilter","schema":{"description":"Filter clause for metrics."}},{"in":"query","name":"offset","schema":{"description":"Row offset for pagination (as string).","type":"string"}},{"in":"query","name":"limit","schema":{"description":"Maximum rows to return (as string).","type":"string"}},{"in":"query","name":"metricAggregations","schema":{"description":"Array of aggregation types: TOTAL, MINIMUM, MAXIMUM, COUNT."}},{"in":"query","name":"orderBys","schema":{"description":"Array of order-by specifications."}},{"in":"query","name":"currencyCode","schema":{"description":"Currency code for monetary metrics (e.g. 'USD').","type":"string"}},{"in":"query","name":"cohortSpec","schema":{"description":"Cohort specification for cohort reports."}},{"in":"query","name":"keepEmptyRows","schema":{"description":"If true, include rows with all zero metric values.","type":"boolean"}},{"in":"query","name":"returnPropertyQuota","schema":{"description":"If true, include property quota info in the response.","type":"boolean"}},{"in":"query","name":"comparisons","schema":{"description":"Array of comparison objects."}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Request body parameters"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dimensionHeaders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricHeaders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"rows":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"totals":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"maximums":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"minimums":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"rowCount":{"anyOf":[{"type":"number"},{"type":"null"}]},"metadata":{"anyOf":[{"type":"object","properties":{"dataLossFromOtherRow":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"schemaRestrictionResponse":{"anyOf":[{"type":"object","properties":{"activeMetricRestrictions":{"anyOf":[{"type":"array","items":{}},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"currencyCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"timeZone":{"anyOf":[{"type":"string"},{"type":"null"}]},"emptyReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"subjectToThresholding":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"propertyQuota":{"anyOf":[{"type":"object","properties":{"tokensPerDay":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"tokensPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"concurrentRequests":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"serverErrorsPerProjectPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"potentiallyThresholdedRequestsPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"tokensPerProjectPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"kind":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/google-analyticsdata/properties/{property}/reports{runPivot}":{"post":{"operationId":"google-analyticsdata.run_pivot_report","description":"Run a pivot report on a GA4 property. Returns data organized in pivot tables with dimension and metric headers.","tags":["google-analyticsdata"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"property","schema":{"type":"string","description":"GA4 property ID (e.g. 123456)"},"required":true,"description":"GA4 property ID (e.g. 123456)"},{"in":"query","name":"dimensions","schema":{"description":"Array of dimension objects."}},{"in":"query","name":"metrics","schema":{"description":"Array of metric objects."}},{"in":"query","name":"dateRanges","schema":{"description":"Array of date range objects."}},{"in":"query","name":"pivots","schema":{"description":"Array of pivot objects defining how dimensions are organized in the report."}},{"in":"query","name":"dimensionFilter","schema":{"description":"Filter clause for dimensions."}},{"in":"query","name":"metricFilter","schema":{"description":"Filter clause for metrics."}},{"in":"query","name":"currencyCode","schema":{"description":"Currency code.","type":"string"}},{"in":"query","name":"cohortSpec","schema":{"description":"Cohort specification."}},{"in":"query","name":"keepEmptyRows","schema":{"description":"If true, include rows with all zero metric values.","type":"boolean"}},{"in":"query","name":"returnPropertyQuota","schema":{"description":"If true, include property quota info.","type":"boolean"}},{"in":"query","name":"comparisons","schema":{"description":"Array of comparison objects."}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Request body parameters"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"pivotHeaders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"pivotDimensionHeaders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"rowCount":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"dimensionHeaders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricHeaders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"rows":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"aggregates":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metadata":{"anyOf":[{"type":"object","properties":{"dataLossFromOtherRow":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"schemaRestrictionResponse":{"anyOf":[{"type":"object","properties":{"activeMetricRestrictions":{"anyOf":[{"type":"array","items":{}},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"currencyCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"timeZone":{"anyOf":[{"type":"string"},{"type":"null"}]},"emptyReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"subjectToThresholding":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"propertyQuota":{"anyOf":[{"type":"object","properties":{"tokensPerDay":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"tokensPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"concurrentRequests":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"serverErrorsPerProjectPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"potentiallyThresholdedRequestsPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"tokensPerProjectPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"kind":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/google-analyticsdata/properties/{property}/reports{runRealtime}":{"post":{"operationId":"google-analyticsdata.run_realtime_report","description":"Run a realtime report on a GA4 property. Returns current user activity data. Realtime data is available for the last 30 minutes.","tags":["google-analyticsdata"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"property","schema":{"type":"string","description":"GA4 property ID (e.g. 123456)"},"required":true,"description":"GA4 property ID (e.g. 123456)"},{"in":"query","name":"dimensions","schema":{"description":"Array of dimension objects."}},{"in":"query","name":"metrics","schema":{"description":"Array of metric objects."}},{"in":"query","name":"dimensionFilter","schema":{"description":"Filter clause for dimensions."}},{"in":"query","name":"metricFilter","schema":{"description":"Filter clause for metrics."}},{"in":"query","name":"limit","schema":{"description":"Maximum rows to return.","type":"string"}},{"in":"query","name":"metricAggregations","schema":{"description":"Array of aggregation types."}},{"in":"query","name":"orderBys","schema":{"description":"Array of order-by specifications."}},{"in":"query","name":"returnPropertyQuota","schema":{"description":"If true, include property quota info.","type":"boolean"}},{"in":"query","name":"minuteRanges","schema":{"description":"Array of minute range objects for filtering realtime data windows."}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Request body parameters"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dimensionHeaders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricHeaders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"rows":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"totals":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"maximums":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"minimums":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"rowCount":{"anyOf":[{"type":"number"},{"type":"null"}]},"propertyQuota":{"anyOf":[{"type":"object","properties":{"tokensPerDay":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"tokensPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"concurrentRequests":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"serverErrorsPerProjectPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"potentiallyThresholdedRequestsPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"tokensPerProjectPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"kind":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/google-analyticsdata/properties/{property}/reports{batchRun}":{"post":{"operationId":"google-analyticsdata.batch_run_reports","description":"Run multiple standard reports in a single batch request on a GA4 property. More efficient than making individual run_report calls.","tags":["google-analyticsdata"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"property","schema":{"type":"string","description":"GA4 property ID (e.g. 123456)"},"required":true,"description":"GA4 property ID (e.g. 123456)"},{"in":"query","name":"requests","schema":{"description":"Array of report request objects. Each request has the same structure as run_report params (dimensions, metrics, dateRanges, etc.)."}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Request body parameters"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"reports":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionHeaders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricHeaders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"rows":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"totals":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"maximums":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"minimums":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"rowCount":{"anyOf":[{"type":"number"},{"type":"null"}]},"metadata":{"anyOf":[{"type":"object","properties":{"dataLossFromOtherRow":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"schemaRestrictionResponse":{"anyOf":[{"type":"object","properties":{"activeMetricRestrictions":{"anyOf":[{"type":"array","items":{}},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"currencyCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"timeZone":{"anyOf":[{"type":"string"},{"type":"null"}]},"emptyReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"subjectToThresholding":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"propertyQuota":{"anyOf":[{"type":"object","properties":{"tokensPerDay":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"tokensPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"concurrentRequests":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"serverErrorsPerProjectPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"potentiallyThresholdedRequestsPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"tokensPerProjectPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"kind":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"kind":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/google-analyticsdata/properties/{property}/reports{batchRunPivot}":{"post":{"operationId":"google-analyticsdata.batch_run_pivot_reports","description":"Run multiple pivot reports in a single batch request on a GA4 property. More efficient than making individual run_pivot_report calls.","tags":["google-analyticsdata"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"property","schema":{"type":"string","description":"GA4 property ID (e.g. 123456)"},"required":true,"description":"GA4 property ID (e.g. 123456)"},{"in":"query","name":"requests","schema":{"description":"Array of pivot report request objects. Each request has the same structure as run_pivot_report params."}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Request body parameters"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"pivotReports":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"pivotHeaders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"pivotDimensionHeaders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"rowCount":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"dimensionHeaders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricHeaders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"rows":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"aggregates":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricValues":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"oneValue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metadata":{"anyOf":[{"type":"object","properties":{"dataLossFromOtherRow":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"schemaRestrictionResponse":{"anyOf":[{"type":"object","properties":{"activeMetricRestrictions":{"anyOf":[{"type":"array","items":{}},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"currencyCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"timeZone":{"anyOf":[{"type":"string"},{"type":"null"}]},"emptyReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"subjectToThresholding":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"propertyQuota":{"anyOf":[{"type":"object","properties":{"tokensPerDay":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"tokensPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"concurrentRequests":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"serverErrorsPerProjectPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"potentiallyThresholdedRequestsPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"tokensPerProjectPerHour":{"anyOf":[{"type":"object","properties":{"consumed":{"anyOf":[{"type":"number"},{"type":"null"}]},"remaining":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"kind":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"kind":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/google-analyticsdata/properties/{property}/metadata":{"get":{"operationId":"google-analyticsdata.get_metadata","description":"Get metadata about available dimensions and metrics for a GA4 property. Use property ID '0' for universal metadata available to all properties.","tags":["google-analyticsdata"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"property","schema":{"type":"string","description":"GA4 property ID. Use '0' for universal metadata available to all properties."},"required":true,"description":"GA4 property ID. Use '0' for universal metadata available to all properties."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"dimensions":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"apiName":{"anyOf":[{"type":"string"},{"type":"null"}]},"uiName":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"deprecatedApiNames":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"customDefinition":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"category":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metrics":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"apiName":{"anyOf":[{"type":"string"},{"type":"null"}]},"uiName":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"deprecatedApiNames":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"type":{"anyOf":[{"type":"string"},{"type":"null"}]},"expression":{"anyOf":[{"type":"string"},{"type":"null"}]},"customDefinition":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"blockedReasons":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"category":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/google-analyticsdata/properties/{property}/compatibility{check}":{"post":{"operationId":"google-analyticsdata.check_compatibility","description":"Check compatibility of dimensions and metrics for a GA4 property. Returns which combinations are compatible for reporting.","tags":["google-analyticsdata"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"property","schema":{"type":"string","description":"GA4 property ID (e.g. 123456)"},"required":true,"description":"GA4 property ID (e.g. 123456)"},{"in":"query","name":"dimensions","schema":{"description":"Array of dimension objects to check compatibility."}},{"in":"query","name":"metrics","schema":{"description":"Array of metric objects to check compatibility."}},{"in":"query","name":"dimensionFilter","schema":{"description":"Filter clause for dimensions."}},{"in":"query","name":"metricFilter","schema":{"description":"Filter clause for metrics."}},{"in":"query","name":"compatibilityFilter","schema":{"description":"Filter to COMPATIBLE or INCOMPATIBLE results.","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Request body parameters"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"dimensionCompatibilities":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"dimensionMetadata":{"anyOf":[{"type":"object","properties":{"apiName":{"anyOf":[{"type":"string"},{"type":"null"}]},"uiName":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"deprecatedApiNames":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"customDefinition":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"category":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"compatibility":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"metricCompatibilities":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"metricMetadata":{"anyOf":[{"type":"object","properties":{"apiName":{"anyOf":[{"type":"string"},{"type":"null"}]},"uiName":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"deprecatedApiNames":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"type":{"anyOf":[{"type":"string"},{"type":"null"}]},"expression":{"anyOf":[{"type":"string"},{"type":"null"}]},"customDefinition":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"blockedReasons":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"category":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"compatibility":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/google-analyticsdata/accounts":{"get":{"operationId":"google-analyticsdata.list_accounts","description":"List all GA4 accounts accessible to the authenticated user. Use this to discover account IDs, then pass them to list_properties to find property IDs usable with the reporting tools.","tags":["google-analyticsdata"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"pageSize","schema":{"description":"Max accounts per page. Default 50, maximum 200.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},{"in":"query","name":"pageToken","schema":{"description":"Page token returned from a previous call to continue pagination.","type":"string"}},{"in":"query","name":"showDeleted","schema":{"description":"If true, include soft-deleted accounts.","type":"boolean"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"accounts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}]},"regionCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"createTime":{"anyOf":[{"type":"string"},{"type":"null"}]},"updateTime":{"anyOf":[{"type":"string"},{"type":"null"}]},"deleted":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"gmpOrganization":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"nextPageToken":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/google-analyticsdata/accounts/{account}/properties":{"get":{"operationId":"google-analyticsdata.list_properties","description":"List GA4 properties under a given account. Pass an account ID (e.g. '123456') to list its properties. The returned 'name' field (e.g. 'properties/987654321') contains the property ID to use with run_report and other reporting tools.","tags":["google-analyticsdata"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"account","schema":{"type":"string","description":"GA4 account ID (digits only, e.g. '123456')."},"required":true,"description":"GA4 account ID (digits only, e.g. '123456')."},{"in":"query","name":"pageSize","schema":{"description":"Max properties per page. Default 50, maximum 200.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},{"in":"query","name":"pageToken","schema":{"description":"Page token returned from a previous call to continue pagination.","type":"string"}},{"in":"query","name":"showDeleted","schema":{"description":"If true, include soft-deleted properties.","type":"boolean"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"properties":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"parent":{"anyOf":[{"type":"string"},{"type":"null"}]},"account":{"anyOf":[{"type":"string"},{"type":"null"}]},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}]},"propertyType":{"anyOf":[{"type":"string"},{"type":"null"}]},"industryCategory":{"anyOf":[{"type":"string"},{"type":"null"}]},"timeZone":{"anyOf":[{"type":"string"},{"type":"null"}]},"currencyCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"serviceLevel":{"anyOf":[{"type":"string"},{"type":"null"}]},"createTime":{"anyOf":[{"type":"string"},{"type":"null"}]},"updateTime":{"anyOf":[{"type":"string"},{"type":"null"}]},"deleteTime":{"anyOf":[{"type":"string"},{"type":"null"}]},"expireTime":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"nextPageToken":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}}},"webhooks":{},"components":{"securitySchemes":{"oauth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/oauth/authorize","tokenUrl":"/oauth/token","scopes":{}}}},"bearerApiKey":{"type":"http","scheme":"bearer","description":"API key authentication. Pass a Ferrule API key as a Bearer token."}}}}