Google Analytics 4 · Agentic Access

Google Analytics 4 Agentic Access

x-agentic-access generated

Google Analytics 4 exposes 247 API operations that an AI agent could call, of which 149 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.

By consequence: 98 read, 145 write, and 4 physical.

Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.

AnalyticsData CollectionMarketingMeasurementsMobile AnalyticsReportingWeb AnalyticsAttributionAudiencesEvent Tracking
Operations: 247 Acting: 149 Human-in-the-loop: 0 Method: generated

By consequence

read 98 write 145 physical 4

Highest-consequence actions

The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.

MethodPathConsequenceHuman-in-loop
POST /v1alpha/accounts:provisionAccountTicket physical conditional
POST /v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventEditRules:reorder physical conditional
POST /v1alpha/properties:provisionSubproperty physical conditional
POST /v1beta/accounts:provisionAccountTicket physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-08-13'
method: generated
source: openapi/google-analytics-4-admin-v1alpha-openapi.yml, openapi/google-analytics-4-admin-v1beta-openapi.yml,
  openapi/google-analytics-4-data-v1alpha-openapi.yml, openapi/google-analytics-4-data-v1beta-openapi.yml
description: Recommended x-agentic-access execution contracts, classified heuristically from
  the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
  audience per deployment. See research/curity/agentic-governance/.
summary:
  operations: 247
  by_action_class:
    connected: 98
    acting: 149
  by_consequence:
    read: 98
    write: 145
    physical: 4
  human_in_the_loop_required: 0
operations:
- path: /v1alpha/accountSummaries
  method: get
  operationId: accountSummaries_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/accounts/{accountsId}
  method: delete
  operationId: accounts_delete
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/accounts/{accountsId}
  method: get
  operationId: accounts_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/accounts/{accountsId}
  method: patch
  operationId: accounts_patch
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/accounts/{accountsId}/dataSharingSettings
  method: get
  operationId: accounts_getDataSharingSettings
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/accounts
  method: get
  operationId: accounts_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/accounts:provisionAccountTicket
  method: post
  operationId: accounts_provisionAccountTicket
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/accounts/{accountsId}:runAccessReport
  method: post
  operationId: accounts_runAccessReport
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    - analytics.readonly
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/accounts/{accountsId}:searchChangeHistoryEvents
  method: post
  operationId: accounts_searchChangeHistoryEvents
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/accounts/{accountsId}/accessBindings:batchCreate
  method: post
  operationId: accounts_accessBindings_batchCreate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.manage.users
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/accounts/{accountsId}/accessBindings:batchDelete
  method: post
  operationId: accounts_accessBindings_batchDelete
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.manage.users
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/accounts/{accountsId}/accessBindings:batchGet
  method: get
  operationId: accounts_accessBindings_batchGet
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.manage.users
    - analytics.manage.users.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/accounts/{accountsId}/accessBindings:batchUpdate
  method: post
  operationId: accounts_accessBindings_batchUpdate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.manage.users
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/accounts/{accountsId}/accessBindings
  method: post
  operationId: accounts_accessBindings_create
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.manage.users
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/accounts/{accountsId}/accessBindings
  method: get
  operationId: accounts_accessBindings_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.manage.users
    - analytics.manage.users.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/accounts/{accountsId}/accessBindings/{accessBindingsId}
  method: delete
  operationId: accounts_accessBindings_delete
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.manage.users
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/accounts/{accountsId}/accessBindings/{accessBindingsId}
  method: get
  operationId: accounts_accessBindings_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.manage.users
    - analytics.manage.users.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/accounts/{accountsId}/accessBindings/{accessBindingsId}
  method: patch
  operationId: accounts_accessBindings_patch
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.manage.users
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}:acknowledgeUserDataCollection
  method: post
  operationId: properties_acknowledgeUserDataCollection
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties
  method: post
  operationId: properties_create
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties
  method: get
  operationId: properties_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties:createRollupProperty
  method: post
  operationId: properties_createRollupProperty
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}
  method: delete
  operationId: properties_delete
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}
  method: get
  operationId: properties_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}
  method: patch
  operationId: properties_patch
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/attributionSettings
  method: get
  operationId: properties_getAttributionSettings
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/attributionSettings
  method: patch
  operationId: properties_updateAttributionSettings
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/dataRetentionSettings
  method: get
  operationId: properties_getDataRetentionSettings
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/dataRetentionSettings
  method: patch
  operationId: properties_updateDataRetentionSettings
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/googleSignalsSettings
  method: get
  operationId: properties_getGoogleSignalsSettings
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/googleSignalsSettings
  method: patch
  operationId: properties_updateGoogleSignalsSettings
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/reportingIdentitySettings
  method: get
  operationId: properties_getReportingIdentitySettings
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/reportingIdentitySettings
  method: patch
  operationId: properties_updateReportingIdentitySettings
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/userProvidedDataSettings
  method: get
  operationId: properties_getUserProvidedDataSettings
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties:provisionSubproperty
  method: post
  operationId: properties_provisionSubproperty
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}:runAccessReport
  method: post
  operationId: properties_runAccessReport
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    - analytics.readonly
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}:submitUserDeletion
  method: post
  operationId: properties_submitUserDeletion
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/accessBindings:batchCreate
  method: post
  operationId: properties_accessBindings_batchCreate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.manage.users
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/accessBindings:batchDelete
  method: post
  operationId: properties_accessBindings_batchDelete
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.manage.users
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/accessBindings:batchGet
  method: get
  operationId: properties_accessBindings_batchGet
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.manage.users
    - analytics.manage.users.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/accessBindings:batchUpdate
  method: post
  operationId: properties_accessBindings_batchUpdate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.manage.users
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/accessBindings
  method: post
  operationId: properties_accessBindings_create
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.manage.users
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/accessBindings
  method: get
  operationId: properties_accessBindings_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.manage.users
    - analytics.manage.users.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/accessBindings/{accessBindingsId}
  method: delete
  operationId: properties_accessBindings_delete
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.manage.users
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/accessBindings/{accessBindingsId}
  method: get
  operationId: properties_accessBindings_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.manage.users
    - analytics.manage.users.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/accessBindings/{accessBindingsId}
  method: patch
  operationId: properties_accessBindings_patch
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.manage.users
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/adSenseLinks
  method: post
  operationId: properties_adSenseLinks_create
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/adSenseLinks
  method: get
  operationId: properties_adSenseLinks_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/adSenseLinks/{adSenseLinksId}
  method: delete
  operationId: properties_adSenseLinks_delete
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/adSenseLinks/{adSenseLinksId}
  method: get
  operationId: properties_adSenseLinks_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/audiences/{audiencesId}:archive
  method: post
  operationId: properties_audiences_archive
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/audiences
  method: post
  operationId: properties_audiences_create
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/audiences
  method: get
  operationId: properties_audiences_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/audiences/{audiencesId}
  method: get
  operationId: properties_audiences_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/audiences/{audiencesId}
  method: patch
  operationId: properties_audiences_patch
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/bigQueryLinks
  method: post
  operationId: properties_bigQueryLinks_create
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/bigQueryLinks
  method: get
  operationId: properties_bigQueryLinks_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/bigQueryLinks/{bigQueryLinksId}
  method: delete
  operationId: properties_bigQueryLinks_delete
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/bigQueryLinks/{bigQueryLinksId}
  method: get
  operationId: properties_bigQueryLinks_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/bigQueryLinks/{bigQueryLinksId}
  method: patch
  operationId: properties_bigQueryLinks_patch
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/calculatedMetrics
  method: post
  operationId: properties_calculatedMetrics_create
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/calculatedMetrics
  method: get
  operationId: properties_calculatedMetrics_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/calculatedMetrics/{calculatedMetricsId}
  method: delete
  operationId: properties_calculatedMetrics_delete
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/calculatedMetrics/{calculatedMetricsId}
  method: get
  operationId: properties_calculatedMetrics_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/calculatedMetrics/{calculatedMetricsId}
  method: patch
  operationId: properties_calculatedMetrics_patch
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/channelGroups
  method: post
  operationId: properties_channelGroups_create
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/channelGroups
  method: get
  operationId: properties_channelGroups_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/channelGroups/{channelGroupsId}
  method: delete
  operationId: properties_channelGroups_delete
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/channelGroups/{channelGroupsId}
  method: get
  operationId: properties_channelGroups_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/channelGroups/{channelGroupsId}
  method: patch
  operationId: properties_channelGroups_patch
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/conversionEvents
  method: post
  operationId: properties_conversionEvents_create
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/conversionEvents
  method: get
  operationId: properties_conversionEvents_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/conversionEvents/{conversionEventsId}
  method: delete
  operationId: properties_conversionEvents_delete
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/conversionEvents/{conversionEventsId}
  method: get
  operationId: properties_conversionEvents_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/conversionEvents/{conversionEventsId}
  method: patch
  operationId: properties_conversionEvents_patch
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/customDimensions/{customDimensionsId}:archive
  method: post
  operationId: properties_customDimensions_archive
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/customDimensions
  method: post
  operationId: properties_customDimensions_create
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/customDimensions
  method: get
  operationId: properties_customDimensions_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/customDimensions/{customDimensionsId}
  method: get
  operationId: properties_customDimensions_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/properties/{propertiesId}/customDimensions/{customDimensionsId}
  method: patch
  operationId: properties_customDimensions_patch
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/customMetrics/{customMetricsId}:archive
  method: post
  operationId: properties_customMetrics_archive
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/customMetrics
  method: post
  operationId: properties_customMetrics_create
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - analytics.edit
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1alpha/properties/{propertiesId}/customMetrics
  method: get
  operationId: properties_customMetrics_list
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - analytics.edit
    - analytics.readonly
    token:
      max-ttl: 3600
    audit: none
- path: /v1alpha/propert

# --- truncated at 32 KB (96 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/google-analytics-4/refs/heads/main/agentic-access/google-analytics-4-agentic-access.yml