Google Analytics · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Google Analytics Properties API
250 actions
250 updates
phrasing
extends
openapi/google-analytics-properties-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Google Analytics's API. It is a proposal applied on top of the contract, not a document Google Analytics publishes.
What the actions change
x-apievangelist-phrasing
Targets 250 · first 16 shown; the file carries all of them
$.info
$.paths['/v1beta/properties'].get
$.paths['/v1beta/properties'].post
$.paths['/v1beta/{entity}:runAccessReport'].post
$.paths['/v1beta/{name}'].get
$.paths['/v1beta/{name}'].delete
$.paths['/v1beta/{name}'].patch
$.paths['/v1beta/{name}:archive'].post
$.paths['/v1beta/{parent}/conversionEvents'].get
$.paths['/v1beta/{parent}/conversionEvents'].post
$.paths['/v1beta/{parent}/customDimensions'].get
$.paths['/v1beta/{parent}/customDimensions'].post
$.paths['/v1beta/{parent}/customMetrics'].get
$.paths['/v1beta/{parent}/customMetrics'].post
$.paths['/v1beta/{parent}/dataStreams'].get
$.paths['/v1beta/{parent}/dataStreams'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Google Analytics Properties API
version: 1.0.0
extends: openapi/google-analytics-properties-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 249
- target: $.paths['/v1beta/properties'].get
update:
x-apievangelist-phrasing:
intent: List GA4 properties under an account
effect: read
questions:
- Which GA4 properties sit under my Google Analytics account?
- Can I include trashed properties when listing what an account owns?
- What does the properties list return if I have no access to some of them?
instructions:
- text: List the GA4 properties matching filter {filter}.
slots:
filter: query.filter
- text: 'Show GA4 properties for {filter}, including soft-deleted ones: {showDeleted}.'
slots:
filter: query.filter
showDeleted: query.showDeleted
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/properties'].post
update:
x-apievangelist-phrasing:
intent: Create a GA4 property
effect: write
questions:
- Can I spin up a new GA4 property through the API instead of the Analytics UI?
- What reporting time zone and currency does a new GA4 property need?
instructions:
- text: Create a GA4 property named {displayName} under account {parent}.
slots:
displayName: requestBody.displayName
parent: requestBody.parent
- text: Set up a new GA4 property {displayName} reporting in {timeZone} with currency {currencyCode}.
slots:
displayName: requestBody.displayName
timeZone: requestBody.timeZone
currencyCode: requestBody.currencyCode
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{entity}:runAccessReport'].post
update:
x-apievangelist-phrasing:
intent: Report who read GA4 reporting data
effect: read
questions:
- Who on my team has been reading Google Analytics reports, and when?
- How far back do data access records go for a GA4 property or account?
- Can a data access report be run at the account level rather than one property?
instructions:
- text: Run a data access report for {entity} covering {dateRanges}.
slots:
entity: path.entity
dateRanges: requestBody.dateRanges
- text: Show the top {limit} users who accessed reporting data on {entity}.
slots:
limit: requestBody.limit
entity: path.entity
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{name}'].get
update:
x-apievangelist-phrasing:
intent: Look up one Measurement Protocol secret
effect: read
questions:
- Can I fetch a single Measurement Protocol secret by its full resource name?
- What details come back for one GA4 Measurement Protocol API secret?
instructions:
- text: Look up the Measurement Protocol secret at {name}.
slots:
name: path.name
- text: Fetch secret resource {name} and show its display name and value.
slots:
name: path.name
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{name}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a Google Ads link by resource name
effect: destructive
questions:
- Can I unlink a Google Ads account from a GA4 property using the link's resource name?
- What happens to the connection when a Google Ads link resource is deleted?
instructions:
- text: Delete the Google Ads link {name}.
slots:
name: path.name
- text: Disconnect Google Ads from the property by removing link resource {name}.
slots:
name: path.name
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{name}'].patch
update:
x-apievangelist-phrasing:
intent: Update a Google Ads link by resource name
effect: write
questions:
- Can I turn ads personalization on or off for an existing Google Ads link?
- Which Google Ads link settings can be changed after it is created?
instructions:
- text: Update Google Ads link {name} so ads personalization is {adsPersonalizationEnabled}.
slots:
name: path.name
adsPersonalizationEnabled: requestBody.adsPersonalizationEnabled
- text: Patch the fields {updateMask} on Google Ads link resource {name}.
slots:
updateMask: query.updateMask
name: path.name
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{name}:archive'].post
update:
x-apievangelist-phrasing:
intent: Archive a custom metric by resource name
effect: destructive
questions:
- Can I retire a custom metric I no longer need from a GA4 property?
- What does archiving do to a custom metric identified by its full resource name?
instructions:
- text: Archive the custom metric {name}.
slots:
name: path.name
- text: Retire custom metric resource {name} so it stops appearing in reports.
slots:
name: path.name
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{parent}/conversionEvents'].get
update:
x-apievangelist-phrasing:
intent: List conversion events on a GA4 property
effect: read
questions:
- Which events are marked as conversions on my GA4 property?
- Does the conversion events list come back empty when none are configured?
instructions:
- text: List the conversion events under {parent}.
slots:
parent: path.parent
- text: Show up to {pageSize} conversions configured on property {parent}.
slots:
pageSize: query.pageSize
parent: path.parent
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{parent}/conversionEvents'].post
update:
x-apievangelist-phrasing:
intent: Mark an event as a conversion
effect: write
questions:
- Can I flag an event like purchase as a conversion in GA4 programmatically?
- Is it possible to set a default conversion value when marking an event as a conversion?
instructions:
- text: Mark event {eventName} as a conversion on {parent}.
slots:
eventName: requestBody.eventName
parent: path.parent
- text: Create a conversion for {eventName} on {parent} counted {countingMethod}.
slots:
eventName: requestBody.eventName
parent: path.parent
countingMethod: requestBody.countingMethod
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{parent}/customDimensions'].get
update:
x-apievangelist-phrasing:
intent: List custom dimensions on a property
effect: read
questions:
- What custom dimensions have been defined on this GA4 property?
- Can I page through a long set of custom dimensions for one property?
instructions:
- text: List custom dimensions on {parent}.
slots:
parent: path.parent
- text: Return the next page {pageToken} of custom dimensions for {parent}.
slots:
pageToken: query.pageToken
parent: path.parent
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{parent}/customDimensions'].post
update:
x-apievangelist-phrasing:
intent: Create a custom dimension
effect: write
questions:
- Can I register an event parameter as a custom dimension in GA4?
- What scope options exist when defining a new custom dimension?
instructions:
- text: Create custom dimension {displayName} from parameter {parameterName} on {parent}.
slots:
displayName: requestBody.displayName
parameterName: requestBody.parameterName
parent: path.parent
- text: Add a {scope}-scoped custom dimension for parameter {parameterName} to {parent}.
slots:
scope: requestBody.scope
parameterName: requestBody.parameterName
parent: path.parent
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{parent}/customMetrics'].get
update:
x-apievangelist-phrasing:
intent: List custom metrics on a property
effect: read
questions:
- Which custom metrics exist on my GA4 property right now?
- Is there a page size limit when fetching a property's custom metrics?
instructions:
- text: List custom metrics under {parent}.
slots:
parent: path.parent
- text: Show {pageSize} custom metrics per page for {parent}.
slots:
pageSize: query.pageSize
parent: path.parent
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{parent}/customMetrics'].post
update:
x-apievangelist-phrasing:
intent: Create a custom metric
effect: write
questions:
- Can I turn a numeric event parameter into a custom metric?
- What measurement units can a GA4 custom metric use, like currency or seconds?
instructions:
- text: Create custom metric {displayName} from parameter {parameterName} on {parent}.
slots:
displayName: requestBody.displayName
parameterName: requestBody.parameterName
parent: path.parent
- text: Define a custom metric on {parent} measured in {measurementUnit} for {parameterName}.
slots:
parent: path.parent
measurementUnit: requestBody.measurementUnit
parameterName: requestBody.parameterName
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{parent}/dataStreams'].get
update:
x-apievangelist-phrasing:
intent: List data streams on a property
effect: read
questions:
- What web and app data streams feed into this GA4 property?
- Can I see all of a property's streams in one paged call?
instructions:
- text: List the data streams on {parent}.
slots:
parent: path.parent
- text: Get the page {pageToken} of streams belonging to {parent}.
slots:
pageToken: query.pageToken
parent: path.parent
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{parent}/dataStreams'].post
update:
x-apievangelist-phrasing:
intent: Create a web or app data stream
effect: write
questions:
- Can I add a new website stream to a GA4 property from code?
- What stream types can I create, web, Android or iOS?
instructions:
- text: Create a {type} data stream named {displayName} on {parent}.
slots:
type: requestBody.type
displayName: requestBody.displayName
parent: path.parent
- text: Add a web stream {displayName} for site {webStreamData} to {parent}.
slots:
displayName: requestBody.displayName
webStreamData: requestBody.webStreamData
parent: path.parent
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{parent}/firebaseLinks'].get
update:
x-apievangelist-phrasing:
intent: List Firebase links on a property
effect: read
questions:
- Is my GA4 property linked to a Firebase project?
- Can a property have more than one Firebase link?
instructions:
- text: List Firebase links under {parent}.
slots:
parent: path.parent
- text: Check which Firebase project is attached to {parent}.
slots:
parent: path.parent
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{parent}/firebaseLinks'].post
update:
x-apievangelist-phrasing:
intent: Link a Firebase project
effect: write
questions:
- Can I connect a Firebase project to my GA4 property through the API?
- What happens if the property already has a Firebase link when I add one?
instructions:
- text: Link Firebase project {project} to {parent}.
slots:
project: requestBody.project
parent: path.parent
- text: Attach Firebase project {project} as the single Firebase link for {parent}.
slots:
project: requestBody.project
parent: path.parent
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{parent}/googleAdsLinks'].get
update:
x-apievangelist-phrasing:
intent: List Google Ads links on a property
effect: read
questions:
- Which Google Ads accounts are linked to this GA4 property?
- Can I page through Google Ads links when a property has many?
instructions:
- text: List Google Ads links on {parent}.
slots:
parent: path.parent
- text: Show {pageSize} Google Ads links at a time for {parent}.
slots:
pageSize: query.pageSize
parent: path.parent
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{parent}/googleAdsLinks'].post
update:
x-apievangelist-phrasing:
intent: Link a Google Ads account
effect: write
questions:
- Can I link a Google Ads customer ID to GA4 without using the admin screen?
- Is ads personalization settable at the moment a Google Ads link is created?
instructions:
- text: Link Google Ads customer {customerId} to {parent}.
slots:
customerId: requestBody.customerId
parent: path.parent
- text: Create a Google Ads link on {parent} for {customerId} with personalization {adsPersonalizationEnabled}.
slots:
parent: path.parent
customerId: requestBody.customerId
adsPersonalizationEnabled: requestBody.adsPersonalizationEnabled
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{parent}/measurementProtocolSecrets'].get
update:
x-apievangelist-phrasing:
intent: List Measurement Protocol secrets
effect: read
questions:
- What Measurement Protocol API secrets exist on a data stream?
- Can I list the secrets used to send server-side events to GA4?
instructions:
- text: List Measurement Protocol secrets under {parent}.
slots:
parent: path.parent
- text: Show all API secrets for server-side hits on stream {parent}.
slots:
parent: path.parent
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{parent}/measurementProtocolSecrets'].post
update:
x-apievangelist-phrasing:
intent: Create a Measurement Protocol secret
effect: write
questions:
- Can I generate a new API secret for sending Measurement Protocol events?
- Do I need to acknowledge user data collection before creating a secret?
instructions:
- text: Create a Measurement Protocol secret named {displayName} under {parent}.
slots:
displayName: requestBody.displayName
parent: path.parent
- text: Generate a server-side events API secret on stream {parent}.
slots:
parent: path.parent
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{property}:acknowledgeUserDataCollection'].post
update:
x-apievangelist-phrasing:
intent: Acknowledge user data collection terms
effect: write
questions:
- Why can't I create a Measurement Protocol secret until I accept user data collection terms?
- Can I accept the GA4 user data collection terms through the API?
instructions:
- text: Acknowledge user data collection for {property}.
slots:
property: path.property
- text: Accept the data collection terms on {property} with acknowledgement {acknowledgement}.
slots:
property: path.property
acknowledgement: requestBody.acknowledgement
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{name}:query'].post
update:
x-apievangelist-phrasing:
intent: Fetch users in an audience export
effect: read
questions:
- How can I pull the actual users from an audience export once it is ready?
- Can I page through an exported audience with an offset and limit?
instructions:
- text: Fetch the users in audience export {name}.
slots:
name: path.name
- text: Return {limit} rows starting at {offset} from audience export {name}.
slots:
limit: requestBody.limit
offset: requestBody.offset
name: path.name
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{parent}/audienceExports'].get
update:
x-apievangelist-phrasing:
intent: List audience exports for a property
effect: read
questions:
- Which audience exports have already been created for my property?
- Can I reuse an existing audience export instead of making a new one?
instructions:
- text: List audience exports under {parent}.
slots:
parent: path.parent
- text: Show existing audience exports for {parent} so I can reuse one.
slots:
parent: path.parent
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{parent}/audienceExports'].post
update:
x-apievangelist-phrasing:
intent: Start an audience export
effect: write
questions:
- Can I export the members of a GA4 audience for use elsewhere?
- Is an audience export ready immediately or does it build in the background?
instructions:
- text: Create an audience export of {audience} on {parent}.
slots:
audience: requestBody.audience
parent: path.parent
- text: Export audience {audience} for {parent} with dimensions {dimensions}.
slots:
audience: requestBody.audience
parent: path.parent
dimensions: requestBody.dimensions
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{property}:batchRunPivotReports'].post
update:
x-apievangelist-phrasing:
intent: Run several pivot reports at once
effect: read
questions:
- Can I run multiple pivot reports in a single request?
- Do all pivot reports in one batch have to target the same property?
instructions:
- text: Run this batch of pivot reports {requests} on {property}.
slots:
requests: requestBody.requests
property: path.property
- text: 'Batch these pivot table requests against {property}: {requests}.'
slots:
property: path.property
requests: requestBody.requests
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{property}:batchRunReports'].post
update:
x-apievangelist-phrasing:
intent: Run several standard reports at once
effect: read
questions:
- Can I send several GA4 report requests together to save round trips?
- Is there a single call that returns multiple core reports for one property?
instructions:
- text: Run the batch of reports {requests} for {property}.
slots:
requests: requestBody.requests
property: path.property
- text: 'Execute these report definitions together on {property}: {requests}.'
slots:
property: path.property
requests: requestBody.requests
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{property}:checkCompatibility'].post
update:
x-apievangelist-phrasing:
intent: Check which dimensions and metrics combine
effect: read
questions:
- Why does my GA4 report fail when I mix certain dimensions and metrics?
- Which dimensions can I still add to a report without breaking it?
instructions:
- text: Check whether dimensions {dimensions} and metrics {metrics} work together on {property}.
slots:
dimensions: requestBody.dimensions
metrics: requestBody.metrics
property: path.property
- text: List fields compatible with my report on {property}, filtered by {compatibilityFilter}.
slots:
property: path.property
compatibilityFilter: requestBody.compatibilityFilter
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{property}:runPivotReport'].post
update:
x-apievangelist-phrasing:
intent: Run a pivot report
effect: read
questions:
- Can I build a pivot table of GA4 event data through the API?
- In a pivot report, why do dimensions only show up when included in a pivot?
instructions:
- text: Run a pivot report on {property} with pivots {pivots}.
slots:
property: path.property
pivots: requestBody.pivots
- text: Pivot metrics {metrics} by {dimensions} for {property} over {dateRanges}.
slots:
metrics: requestBody.metrics
dimensions: requestBody.dimensions
property: path.property
dateRanges: requestBody.dateRanges
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{property}:runRealtimeReport'].post
update:
x-apievangelist-phrasing:
intent: Run a realtime report
effect: read
questions:
- How many people are on my site right now according to GA4?
- Can realtime data be broken down by minute ranges?
instructions:
- text: Show realtime {metrics} for {property}.
slots:
metrics: requestBody.metrics
property: path.property
- text: Get live activity on {property} for the last {minuteRanges} split by {dimensions}.
slots:
property: path.property
minuteRanges: requestBody.minuteRanges
dimensions: requestBody.dimensions
method: generated
generated: '2026-09-26'
- target: $.paths['/v1beta/{property}:runReport'].post
update:
x-apievangelist-phrasing:
intent: Run a standard GA4 report
effect: read
questions:
- How do I pull sessions and users by country from GA4?
- Can I sort and limit rows when running a core Google Analytics report?
- What date ranges can a single GA4 report cover?
instructions:
- text: Run a report on {property} of {metrics} by {dimensions}.
slots:
property: path.property
metrics: requestBody.metrics
dimensions: requestBody.dimensions
- text: Report {metrics} for {property} across {dateRanges}, top {limit} rows.
slots:
metrics: requestBody.metrics
property: path.property
dateRanges: requestBody.dateRanges
limit: requestBody.limit
method: generated
generated: '2026-09-26'
- target: $.paths['/v1alpha/properties/{propertiesId}:acknowledgeUserDataCollection'].post
update:
x-apievangelist-phrasing:
intent: Accept data collection terms (v1alpha)
effect: write
questions:
- On the v1alpha admin API, where do I confirm the user data collection acknowledgement for a property?
- Is the alpha acknowledgement call a prerequisite for Measurement Protocol secrets?
instructions:
- text: Using the alpha admin API, confirm user data collection for property {propertiesId}.
slots:
propertiesId: path.propertiesId
- text: Send acknowledgement {acknowledgement} via v1alpha for property {propertiesId}.
slots:
acknowledgement: requestBody.acknowledgement
propertiesId: path.propertiesId
method: generated
generated: '2026-09-26'
- target: $.paths['/v1alpha/properties'].get
update:
x-apievangelist-phrasing:
intent: List properties via the alpha admin API
effect: read
questions:
- With the v1alpha admin API, can I list every property I can see under an account?
- Are trashed properties hidden unless I ask the alpha list call for them?
instructions:
- text: Using v1alpha, list properties that match {filter}.
slots:
filter: query.filter
- text: Page through alpha property results {pageSize} at a time for {filter}.
slots:
pageSize: query.pageSize
filter: query.filter
method: generated
generated: '2026-09-26'
- target: $.paths['/v1alpha/properties'].post
update:
x-apievangelist-phrasing:
intent: Create a property via the alpha admin API
effect: write
questions:
- Does the v1alpha admin API let me create a property with an industry category?
- Can the alpha create call set a property type such as ordinary or subproperty?
instructions:
- text: Via v1alpha, create property {displayName} in industry {industryCategory}.
slots:
displayName: requestBody.displayName
industryCategory: requestBody.industryCategory
- text: Make an alpha-API property {displayName} of type {propertyType} under {parent}.
slots:
displayName: requestBody.displayName
propertyType: requestBody.propertyType
parent: requestBody.parent
method: generated
generated: '2026-09-26'
- target: $.paths['/v1alpha/properties:createRollupProperty'].post
update:
x-apievangelist-phrasing:
intent: Create a roll-up property with sources
effect: write
questions:
- Can I combine several GA4 properties into one roll-up property?
- What source properties does a new roll-up property pull data from?
instructions:
- text: Create a roll-up property {rollupProperty} fed by {sourceProperties}.
slots:
rollupProperty: requestBody.rollupProperty
sourceProperties: requestBody.sourceProperties
- text: Build a roll-up that aggregates properties {sourceProperties}.
slots:
sourceProperties: requestBody.sourceProperties
method: generated
generated: '2026-09-26'
- target: $.paths['/v1alpha/properties/{propertiesId}'].get
update:
x-apievangelist-phrasing:
intent: Get one property (v1alpha)
effect: read
questions:
- Through the alpha admin API, what settings does a single property report?
- Can v1alpha tell me a property's service level and time zone?
instructions:
- text: Using v1alpha, fetch property {propertiesId}.
slots:
propertiesId: path.propertiesId
- text: Show the alpha-API record for property {propertiesId}, including its service level.
slots:
propertiesId: path.propertiesId
method: generated
generated: '2026-09-26'
- target: $.paths['/v1alpha/properties/{propertiesId}'].delete
update:
x-apievangelist-phrasing:
intent: Trash a property (v1alpha)
effect: destructive
questions:
- If I trash a property with the v1alpha API, can it still be restored?
- How long before a property soft-deleted via alpha is permanently purged?
instructions:
- text: Using the alpha API, move property {propertiesId} to the trash.
slots:
propertiesId: path.propertiesId
- text: Soft-delete property {propertiesId} through v1alpha.
slots:
propertiesId: path.propertiesId
method: generated
generated: '2026-09-26'
- target: $.paths['/v1alpha/properties/{propertiesId}'].patch
update:
x-apievangelist-phrasing:
intent: Update a property (v1alpha)
effect: write
questions:
- Can I rename a property or change its currency via the v1alpha admin API?
- Which property fields does the alpha update accept in its update mask?
instructions:
- text: Via v1alpha, rename property {propertiesId} to {displayName}.
slots:
propertiesId: path.propertiesId
displayName: requestBody.displayName
- text: Change the alpha property {propertiesId} time zone to {timeZone}.
slots:
propertiesId: path.propertiesId
timeZone: requestBody.timeZone
method: generated
generated: '2026-09-26'
- target: $.paths['/v1alpha/properties/{propertiesId}/attributionSettings'].get
update:
x-apievangelist-phrasing:
intent: View a property's attribution settings
effect: read
questions:
- Which attribution model is my GA4 property using for reporting?
- What lookback windows are set for acquisition and other key events?
instructions:
- text: Show attribution settings for property {propertiesId}.
slots:
propertiesId: path.propertiesId
- text: Tell me the reporting attribution model on property {propertiesId}.
slots:
propertiesId: path.propertiesId
method: generated
generated: '2026-09-26'
- target: $.paths['/v1alpha/properties/{propertiesId}/attributionSettings'].patch
update:
x-apievangelist-phrasing:
intent: Change a property's attribution settings
effect: write
questions:
- Can I switch my property from data-driven to last click attribution?
- Is the conversion lookback window adjustable through the API?
instructions:
- text: Set the reporting attribution model on property {propertiesId} to {reportingAttributionModel}.
slots:
propertiesId: path.propertiesId
reportingAttributionModel: requestBody.reportingAttributionModel
- text: Change the acquisition lookback on property {propertiesId} to {acquisitionConversionEventLookbackWindow}.
slots:
propertiesId: path.propertiesId
acquisitionConversionEventLookbackWindow: requestBody.acquisitionConversionEventLookbackWindow
method: generated
generated: '2026-09-26'
- target: $.paths['/v1alpha/properties/{propertiesId}/dataRetentionSettings'].get
update:
x-apievangelist-phrasing:
intent: View data retention settings (v1alpha)
effect: read
questions:
- Using the alpha admin API, how long is event data retained on a property?
- Does v1alpha show whether user data resets on new activity?
instructions:
- text: Via v1alpha, show how long property {propertiesId} keeps event data.
slots:
propertiesId: path.propertiesId
- text: Read alpha retention settings for property {propertiesId}.
slots:
propertiesId: path.propertiesId
method: generated
generated: '2026-09-26'
- target: $.paths['/v1alpha/properties/{propertiesId}/dataRetentionSettings'].patch
update:
x-apievangelist-phrasing:
intent: Change data retention settings (v1alpha)
effect: write
questions:
- With the v1alpha API, can I extend event data retention to 14 months?
- Can the alpha retention update turn off resetting user data on new activity?
instructions:
- text: Via v1alpha, set event data retention on property {propertiesId} to {eventDataRetention}.
slots:
propertiesId: path.propertiesId
eventDataRetention: requestBody.eventDataRetention
- text: Using alpha, set user data retention for property {propertiesId} to {userDataRetention}.
slots:
propertiesId: path.propertiesId
userDataRetention: requestBody.userDataRetention
method: generated
generated: '2026-09-26'
- target: $.paths['/v1alpha/properties/{propertiesId}/googleSignalsSettings'].get
update:
x-apievangelist-phrasing:
intent: View Google Signals settings
effect: read
questions:
- Is Google Signals turned on for my GA4 property?
- Has consent been recorded for Google Signals on this property?
instructions:
- text: Show Google Signals status for property {propertiesId}.
slots:
propertiesId: path.propertiesId
- text: Check whether property {propertiesId} has Google Signals consent.
slots:
propertiesId: path.propertiesId
method: generated
generated: '2026-09-26'
# --- truncated at 32 KB (209 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/google-analytics/refs/heads/main/overlays/google-analytics-properties-api-phrasing-overlay.yaml
Work with this as data
Every overlay 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 openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay 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.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/google-analytics-properties-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?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.