{
  "mtlsRootUrl": "https://analyticsadmin.mtls.googleapis.com/",
  "revision": "20260826",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/analytics.edit": {
          "description": "Edit Google Analytics management entities"
        },
        "https://www.googleapis.com/auth/analytics.readonly": {
          "description": "See and download your Google Analytics data"
        }
      }
    }
  },
  "basePath": "",
  "fullyEncodeReservedExpansion": true,
  "documentationLink": "http://code.google.com/apis/analytics/docs/mgmt/home.html",
  "kind": "discovery#restDescription",
  "canonicalName": "Google Analytics Admin",
  "servicePath": "",
  "version_module": true,
  "rootUrl": "https://analyticsadmin.googleapis.com/",
  "schemas": {
    "GoogleAnalyticsAdminV1betaAccessMetricHeader": {
      "id": "GoogleAnalyticsAdminV1betaAccessMetricHeader",
      "properties": {
        "metricName": {
          "description": "The metric's name; for example 'accessCount'.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "Describes a metric column in the report. Visible metrics requested in a report produce column entries within rows and MetricHeaders. However, metrics used exclusively within filters or expressions do not produce columns in a report; correspondingly, those metrics do not produce headers."
    },
    "GoogleAnalyticsAdminV1betaGoogleAdsLink": {
      "id": "GoogleAnalyticsAdminV1betaGoogleAdsLink",
      "type": "object",
      "properties": {
        "canManageClients": {
          "type": "boolean",
          "readOnly": true,
          "description": "Output only. If true, this link is for a Google Ads manager account."
        },
        "creatorEmailAddress": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Email address of the user that created the link. An empty string will be returned if the email address can't be retrieved."
        },
        "customerId": {
          "description": "Immutable. Google Ads customer ID.",
          "type": "string"
        },
        "updateTime": {
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. Time when this link was last updated.",
          "type": "string"
        },
        "adsPersonalizationEnabled": {
          "type": "boolean",
          "description": "Enable personalized advertising features with this integration. Automatically publish my Google Analytics audience lists and Google Analytics remarketing events/parameters to the linked Google Ads account. If this field is not set on create/update, it will be defaulted to true."
        },
        "name": {
          "description": "Identifier. Format: properties/{propertyId}/googleAdsLinks/{googleAdsLinkId} Note: googleAdsLinkId is not the Google Ads customer ID.",
          "type": "string"
        },
        "createTime": {
          "format": "google-datetime",
          "type": "string",
          "readOnly": true,
          "description": "Output only. Time when this link was originally created."
        }
      },
      "description": "A link between a Google Analytics property and a Google Ads account."
    },
    "GoogleAnalyticsAdminV1betaMeasurementProtocolSecret": {
      "id": "GoogleAnalyticsAdminV1betaMeasurementProtocolSecret",
      "type": "object",
      "description": "A secret value used for sending hits to Measurement Protocol.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Identifier. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}"
        },
        "displayName": {
          "description": "Required. Human-readable display name for this secret.",
          "type": "string"
        },
        "secretValue": {
          "readOnly": true,
          "description": "Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret's parent property.",
          "type": "string"
        }
      }
    },
    "GoogleAnalyticsAdminV1betaAccessDimensionValue": {
      "properties": {
        "value": {
          "type": "string",
          "description": "The dimension value. For example, this value may be 'France' for the 'country' dimension."
        }
      },
      "description": "The value of a dimension.",
      "id": "GoogleAnalyticsAdminV1betaAccessDimensionValue",
      "type": "object"
    },
    "GoogleAnalyticsAdminV1betaKeyEvent": {
      "id": "GoogleAnalyticsAdminV1betaKeyEvent",
      "properties": {
        "eventName": {
          "description": "Immutable. The event name for this key event. Examples: 'click', 'purchase'",
          "type": "string"
        },
        "deletable": {
          "readOnly": true,
          "description": "Output only. If set to true, this event can be deleted.",
          "type": "boolean"
        },
        "defaultValue": {
          "$ref": "GoogleAnalyticsAdminV1betaKeyEventDefaultValue",
          "description": "Optional. Defines a default value/currency for a key event."
        },
        "createTime": {
          "description": "Output only. Time when this key event was created in the property.",
          "readOnly": true,
          "format": "google-datetime",
          "type": "string"
        },
        "name": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Resource name of this key event. Format: properties/{property}/keyEvents/{key_event}"
        },
        "countingMethod": {
          "enumDescriptions": [
            "Counting method not specified.",
            "Each Event instance is considered a Key Event.",
            "An Event instance is considered a Key Event at most once per session per user."
          ],
          "description": "Required. The method by which Key Events will be counted across multiple events within a session.",
          "type": "string",
          "enum": [
            "COUNTING_METHOD_UNSPECIFIED",
            "ONCE_PER_EVENT",
            "ONCE_PER_SESSION"
          ]
        },
        "custom": {
          "readOnly": true,
          "description": "Output only. If set to true, this key event refers to a custom event. If set to false, this key event refers to a default event in GA. Default events typically have special meaning in GA. Default events are usually created for you by the GA system, but in some cases can be created by property admins. Custom events count towards the maximum number of custom key events that may be created per property.",
          "type": "boolean"
        }
      },
      "description": "A key event in a Google Analytics property.",
      "type": "object"
    },
    "GoogleAnalyticsAdminV1betaCustomMetric": {
      "id": "GoogleAnalyticsAdminV1betaCustomMetric",
      "type": "object",
      "properties": {
        "name": {
          "description": "Identifier. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}",
          "type": "string"
        },
        "displayName": {
          "description": "Required. Display name for this custom metric as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.",
          "type": "string"
        },
        "restrictedMetricType": {
          "type": "array",
          "description": "Optional. Types of restricted data that this metric may contain. Required for metrics with CURRENCY measurement unit. Must be empty for metrics with a non-CURRENCY measurement unit.",
          "items": {
            "enumDescriptions": [
              "Type unknown or unspecified.",
              "Metric reports cost data.",
              "Metric reports revenue data."
            ],
            "type": "string",
            "enum": [
              "RESTRICTED_METRIC_TYPE_UNSPECIFIED",
              "COST_DATA",
              "REVENUE_DATA"
            ]
          }
        },
        "measurementUnit": {
          "description": "Required. The type for the custom metric's value.",
          "type": "string",
          "enum": [
            "MEASUREMENT_UNIT_UNSPECIFIED",
            "STANDARD",
            "CURRENCY",
            "FEET",
            "METERS",
            "KILOMETERS",
            "MILES",
            "MILLISECONDS",
            "SECONDS",
            "MINUTES",
            "HOURS"
          ],
          "enumDescriptions": [
            "MeasurementUnit unspecified or missing.",
            "This metric uses default units.",
            "This metric measures a currency.",
            "This metric measures feet.",
            "This metric measures meters.",
            "This metric measures kilometers.",
            "This metric measures miles.",
            "This metric measures milliseconds.",
            "This metric measures seconds.",
            "This metric measures minutes.",
            "This metric measures hours."
          ]
        },
        "description": {
          "type": "string",
          "description": "Optional. Description for this custom dimension. Max length of 150 characters."
        },
        "scope": {
          "enumDescriptions": [
            "Scope unknown or not specified.",
            "Metric scoped to an event."
          ],
          "type": "string",
          "enum": [
            "METRIC_SCOPE_UNSPECIFIED",
            "EVENT"
          ],
          "description": "Required. Immutable. The scope of this custom metric."
        },
        "parameterName": {
          "type": "string",
          "description": "Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics."
        }
      },
      "description": "A definition for a custom metric."
    },
    "GoogleAnalyticsAdminV1betaDataStreamWebStreamData": {
      "type": "object",
      "properties": {
        "defaultUri": {
          "type": "string",
          "description": "Domain name of the web app being measured, or empty. Example: \"http://www.google.com\", \"https://www.google.com\""
        },
        "measurementId": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Analytics Measurement ID. Example: \"G-1A2BCD345E\""
        },
        "firebaseAppId": {
          "description": "Output only. ID of the corresponding web app in Firebase, if any. This ID can change if the web app is deleted and recreated.",
          "readOnly": true,
          "type": "string"
        }
      },
      "description": "Data specific to web streams.",
      "id": "GoogleAnalyticsAdminV1betaDataStreamWebStreamData"
    },
    "GoogleAnalyticsAdminV1betaArchiveCustomMetricRequest": {
      "description": "Request message for ArchiveCustomMetric RPC.",
      "id": "GoogleAnalyticsAdminV1betaArchiveCustomMetricRequest",
      "properties": {},
      "type": "object"
    },
    "GoogleAnalyticsAdminV1betaDataStream": {
      "type": "object",
      "description": "A resource message representing a data stream.",
      "id": "GoogleAnalyticsAdminV1betaDataStream",
      "properties": {
        "displayName": {
          "description": "Human-readable display name for the Data Stream. Required for web data streams. The max allowed display name length is 255 UTF-16 code units.",
          "type": "string"
        },
        "createTime": {
          "readOnly": true,
          "format": "google-datetime",
          "description": "Output only. Time when this stream was originally created.",
          "type": "string"
        },
        "name": {
          "description": "Identifier. Resource name of this Data Stream. Format: properties/{property_id}/dataStreams/{stream_id} Example: \"properties/1000/dataStreams/2000\"",
          "type": "string"
        },
        "androidAppStreamData": {
          "$ref": "GoogleAnalyticsAdminV1betaDataStreamAndroidAppStreamData",
          "description": "Data specific to Android app streams. Must be populated if type is ANDROID_APP_DATA_STREAM."
        },
        "updateTime": {
          "readOnly": true,
          "description": "Output only. Time when stream payload fields were last updated.",
          "format": "google-datetime",
          "type": "string"
        },
        "iosAppStreamData": {
          "description": "Data specific to iOS app streams. Must be populated if type is IOS_APP_DATA_STREAM.",
          "$ref": "GoogleAnalyticsAdminV1betaDataStreamIosAppStreamData"
        },
        "webStreamData": {
          "$ref": "GoogleAnalyticsAdminV1betaDataStreamWebStreamData",
          "description": "Data specific to web streams. Must be populated if type is WEB_DATA_STREAM."
        },
        "type": {
          "enumDescriptions": [
            "Type unknown or not specified.",
            "Web data stream.",
            "Android app data stream.",
            "iOS app data stream."
          ],
          "description": "Required. Immutable. The type of this DataStream resource.",
          "type": "string",
          "enum": [
            "DATA_STREAM_TYPE_UNSPECIFIED",
            "WEB_DATA_STREAM",
            "ANDROID_APP_DATA_STREAM",
            "IOS_APP_DATA_STREAM"
          ]
        }
      }
    },
    "GoogleAnalyticsAdminV1betaAccessOrderByDimensionOrderBy": {
      "description": "Sorts by dimension values.",
      "properties": {
        "orderType": {
          "type": "string",
          "enum": [
            "ORDER_TYPE_UNSPECIFIED",
            "ALPHANUMERIC",
            "CASE_INSENSITIVE_ALPHANUMERIC",
            "NUMERIC"
          ],
          "enumDescriptions": [
            "Unspecified.",
            "Alphanumeric sort by Unicode code point. For example, \"2\" \u003c \"A\" \u003c \"X\" \u003c \"b\" \u003c \"z\".",
            "Case insensitive alphanumeric sort by lower case Unicode code point. For example, \"2\" \u003c \"A\" \u003c \"b\" \u003c \"X\" \u003c \"z\".",
            "Dimension values are converted to numbers before sorting. For example in NUMERIC sort, \"25\" \u003c \"100\", and in `ALPHANUMERIC` sort, \"100\" \u003c \"25\". Non-numeric dimension values all have equal ordering value below all numeric values."
          ],
          "description": "Controls the rule for dimension value ordering."
        },
        "dimensionName": {
          "type": "string",
          "description": "A dimension name in the request to order by."
        }
      },
      "type": "object",
      "id": "GoogleAnalyticsAdminV1betaAccessOrderByDimensionOrderBy"
    },
    "GoogleAnalyticsAdminV1betaAccessDateRange": {
      "type": "object",
      "id": "GoogleAnalyticsAdminV1betaAccessDateRange",
      "properties": {
        "startDate": {
          "description": "The inclusive start date for the query in the format `YYYY-MM-DD`. Cannot be after `endDate`. The format `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the current time in the request's time zone.",
          "type": "string"
        },
        "endDate": {
          "type": "string",
          "description": "The inclusive end date for the query in the format `YYYY-MM-DD`. Cannot be before `startDate`. The format `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the current time in the request's time zone."
        }
      },
      "description": "A contiguous range of days: startDate, startDate + 1, ..., endDate."
    },
    "GoogleAnalyticsAdminV1betaAccessQuota": {
      "id": "GoogleAnalyticsAdminV1betaAccessQuota",
      "type": "object",
      "properties": {
        "serverErrorsPerProjectPerHour": {
          "description": "Properties and cloud project pairs can have up to 50 server errors per hour.",
          "$ref": "GoogleAnalyticsAdminV1betaAccessQuotaStatus"
        },
        "tokensPerProjectPerHour": {
          "$ref": "GoogleAnalyticsAdminV1betaAccessQuotaStatus",
          "description": "Properties can use up to 25% of their tokens per project per hour. This amounts to Analytics 360 Properties can use 12,500 tokens per project per hour. An API request consumes a single number of tokens, and that number is deducted from all of the hourly, daily, and per project hourly quotas."
        },
        "tokensPerDay": {
          "description": "Properties can use 250,000 tokens per day. Most requests consume fewer than 10 tokens.",
          "$ref": "GoogleAnalyticsAdminV1betaAccessQuotaStatus"
        },
        "tokensPerHour": {
          "description": "Properties can use 50,000 tokens per hour. An API request consumes a single number of tokens, and that number is deducted from all of the hourly, daily, and per project hourly quotas.",
          "$ref": "GoogleAnalyticsAdminV1betaAccessQuotaStatus"
        },
        "concurrentRequests": {
          "$ref": "GoogleAnalyticsAdminV1betaAccessQuotaStatus",
          "description": "Properties can use up to 50 concurrent requests."
        }
      },
      "description": "Current state of all quotas for this Analytics property. If any quota for a property is exhausted, all requests to that property will return Resource Exhausted errors."
    },
    "GoogleAnalyticsAdminV1betaAcknowledgeUserDataCollectionRequest": {
      "id": "GoogleAnalyticsAdminV1betaAcknowledgeUserDataCollectionRequest",
      "properties": {
        "acknowledgement": {
          "description": "Required. An acknowledgement that the caller of this method understands the terms of user data collection. This field must contain the exact value: \"I acknowledge that I have the necessary privacy disclosures and rights from my end users for the collection and processing of their data, including the association of such data with the visitation information Google Analytics collects from my site and/or app property.\"",
          "type": "string"
        }
      },
      "type": "object",
      "description": "Request message for AcknowledgeUserDataCollection RPC."
    },
    "GoogleAnalyticsAdminV1betaChangeHistoryChangeChangeHistoryResource": {
      "properties": {
        "measurementProtocolSecret": {
          "description": "A snapshot of a MeasurementProtocolSecret resource in change history.",
          "$ref": "GoogleAnalyticsAdminV1betaMeasurementProtocolSecret"
        },
        "googleAdsLink": {
          "$ref": "GoogleAnalyticsAdminV1betaGoogleAdsLink",
          "description": "A snapshot of a GoogleAdsLink resource in change history."
        },
        "firebaseLink": {
          "description": "A snapshot of a FirebaseLink resource in change history.",
          "$ref": "GoogleAnalyticsAdminV1betaFirebaseLink"
        },
        "account": {
          "$ref": "GoogleAnalyticsAdminV1betaAccount",
          "description": "A snapshot of an Account resource in change history."
        },
        "property": {
          "description": "A snapshot of a Property resource in change history.",
          "$ref": "GoogleAnalyticsAdminV1betaProperty"
        },
        "dataRetentionSettings": {
          "description": "A snapshot of a data retention settings resource in change history.",
          "$ref": "GoogleAnalyticsAdminV1betaDataRetentionSettings"
        },
        "dataStream": {
          "$ref": "GoogleAnalyticsAdminV1betaDataStream",
          "description": "A snapshot of a DataStream resource in change history."
        },
        "conversionEvent": {
          "$ref": "GoogleAnalyticsAdminV1betaConversionEvent",
          "description": "A snapshot of a ConversionEvent resource in change history."
        }
      },
      "description": "A snapshot of a resource as before or after the result of a change in change history.",
      "id": "GoogleAnalyticsAdminV1betaChangeHistoryChangeChangeHistoryResource",
      "type": "object"
    },
    "GoogleAnalyticsAdminV1betaAccessOrderByMetricOrderBy": {
      "properties": {
        "metricName": {
          "type": "string",
          "description": "A metric name in the request to order by."
        }
      },
      "type": "object",
      "description": "Sorts by metric values.",
      "id": "GoogleAnalyticsAdminV1betaAccessOrderByMetricOrderBy"
    },
    "GoogleAnalyticsAdminV1betaProperty": {
      "description": "A resource message representing a Google Analytics property.",
      "id": "GoogleAnalyticsAdminV1betaProperty",
      "type": "object",
      "properties": {
        "expireTime": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. If set, the time at which this trashed property will be permanently deleted. If not set, then this property is not currently in the trash can and is not slated to be deleted.",
          "format": "google-datetime"
        },
        "parent": {
          "type": "string",
          "description": "Immutable. Resource name of this property's logical parent. Note: The Property-Moving UI can be used to change the parent. Format: accounts/{account}, properties/{property} Example: \"accounts/100\", \"properties/101\""
        },
        "currencyCode": {
          "type": "string",
          "description": "The currency type used in reports involving monetary values. Format: https://en.wikipedia.org/wiki/ISO_4217 Examples: \"USD\", \"EUR\", \"JPY\""
        },
        "updateTime": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Time when entity payload fields were last updated.",
          "format": "google-datetime"
        },
        "account": {
          "type": "string",
          "description": "Immutable. The resource name of the parent account Format: accounts/{account_id} Example: \"accounts/123\""
        },
        "industryCategory": {
          "enumDescriptions": [
            "Industry category unspecified",
            "Automotive",
            "Business and industrial markets",
            "Finance",
            "Healthcare",
            "Technology",
            "Travel",
            "Other",
            "Arts and entertainment",
            "Beauty and fitness",
            "Books and literature",
            "Food and drink",
            "Games",
            "Hobbies and leisure",
            "Home and garden",
            "Internet and telecom",
            "Law and government",
            "News",
            "Online communities",
            "People and society",
            "Pets and animals",
            "Real estate",
            "Reference",
            "Science",
            "Sports",
            "Jobs and education",
            "Shopping"
          ],
          "description": "Industry associated with this property Example: AUTOMOTIVE, FOOD_AND_DRINK",
          "type": "string",
          "enum": [
            "INDUSTRY_CATEGORY_UNSPECIFIED",
            "AUTOMOTIVE",
            "BUSINESS_AND_INDUSTRIAL_MARKETS",
            "FINANCE",
            "HEALTHCARE",
            "TECHNOLOGY",
            "TRAVEL",
            "OTHER",
            "ARTS_AND_ENTERTAINMENT",
            "BEAUTY_AND_FITNESS",
            "BOOKS_AND_LITERATURE",
            "FOOD_AND_DRINK",
            "GAMES",
            "HOBBIES_AND_LEISURE",
            "HOME_AND_GARDEN",
            "INTERNET_AND_TELECOM",
            "LAW_AND_GOVERNMENT",
            "NEWS",
            "ONLINE_COMMUNITIES",
            "PEOPLE_AND_SOCIETY",
            "PETS_AND_ANIMALS",
            "REAL_ESTATE",
            "REFERENCE",
            "SCIENCE",
            "SPORTS",
            "JOBS_AND_EDUCATION",
            "SHOPPING"
          ]
        },
        "propertyType": {
          "type": "string",
          "enum": [
            "PROPERTY_TYPE_UNSPECIFIED",
            "PROPERTY_TYPE_ORDINARY",
            "PROPERTY_TYPE_SUBPROPERTY",
            "PROPERTY_TYPE_ROLLUP"
          ],
          "description": "Immutable. The property type for this Property resource. When creating a property, if the type is \"PROPERTY_TYPE_UNSPECIFIED\", then \"ORDINARY_PROPERTY\" will be implied.",
          "enumDescriptions": [
            "Unknown or unspecified property type",
            "Ordinary Google Analytics property",
            "Google Analytics subproperty",
            "Google Analytics rollup property"
          ]
        },
        "serviceLevel": {
          "enum": [
            "SERVICE_LEVEL_UNSPECIFIED",
            "GOOGLE_ANALYTICS_STANDARD",
            "GOOGLE_ANALYTICS_360"
          ],
          "readOnly": true,
          "enumDescriptions": [
            "Service level not specified or invalid.",
            "The standard version of Google Analytics.",
            "The paid, premium version of Google Analytics."
          ],
          "type": "string",
          "description": "Output only. The Google Analytics service level that applies to this property."
        },
        "timeZone": {
          "type": "string",
          "description": "Required. Reporting Time Zone, used as the day boundary for reports, regardless of where the data originates. If the time zone honors DST, Analytics will automatically adjust for the changes. NOTE: Changing the time zone only affects data going forward, and is not applied retroactively. Format: https://www.iana.org/time-zones Example: \"America/Los_Angeles\""
        },
        "displayName": {
          "description": "Required. Human-readable display name for this property. The max allowed display name length is 100 UTF-16 code units.",
          "type": "string"
        },
        "deleteTime": {
          "format": "google-datetime",
          "readOnly": true,
          "type": "string",
          "description": "Output only. If set, the time at which this property was trashed. If not set, then this property is not currently in the trash can."
        },
        "createTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Time when the entity was originally created."
        },
        "name": {
          "type": "string",
          "description": "Identifier. Resource name of this property. Format: properties/{property_id} Example: \"properties/1000\""
        }
      }
    },
    "GoogleAnalyticsAdminV1betaDataStreamAndroidAppStreamData": {
      "type": "object",
      "description": "Data specific to Android app streams.",
      "properties": {
        "firebaseAppId": {
          "readOnly": true,
          "description": "Output only. ID of the corresponding Android app in Firebase, if any. This ID can change if the Android app is deleted and recreated.",
          "type": "string"
        },
        "packageName": {
          "description": "Immutable. The package name for the app being measured. Example: \"com.example.myandroidapp\"",
          "type": "string"
        }
      },
      "id": "GoogleAnalyticsAdminV1betaDataStreamAndroidAppStreamData"
    },
    "GoogleAnalyticsAdminV1betaRunAccessReportRequest": {
      "description": "The request for a Data Access Record Report.",
      "properties": {
        "metrics": {
          "type": "array",
          "description": "The metrics requested and displayed in the response. Requests are allowed up to 10 metrics.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaAccessMetric"
          }
        },
        "metricFilter": {
          "$ref": "GoogleAnalyticsAdminV1betaAccessFilterExpression",
          "description": "Metric filters allow you to restrict report response to specific metric values which match the filter. Metric filters are applied after aggregating the report's rows, similar to SQL having-clause. Dimensions cannot be used in this filter."
        },
        "expandGroups": {
          "type": "boolean",
          "description": "Optional. Decides whether to return the users within user groups. This field works only when include_all_users is set to true. If true, it will return all users with access to the specified property or account. If false, only the users with direct access will be returned."
        },
        "dimensionFilter": {
          "$ref": "GoogleAnalyticsAdminV1betaAccessFilterExpression",
          "description": "Dimension filters let you restrict report response to specific dimension values which match the filter. For example, filtering on access records of a single user. To learn more, see [Fundamentals of Dimension Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) for examples. Metrics cannot be used in this filter."
        },
        "dimensions": {
          "type": "array",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaAccessDimension"
          },
          "description": "The dimensions requested and displayed in the response. Requests are allowed up to 9 dimensions."
        },
        "orderBys": {
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaAccessOrderBy"
          },
          "type": "array",
          "description": "Specifies how rows are ordered in the response."
        },
        "includeAllUsers": {
          "type": "boolean",
          "description": "Optional. Determines whether to include users who have never made an API call in the response. If true, all users with access to the specified property or account are included in the response, regardless of whether they have made an API call or not. If false, only the users who have made an API call will be included."
        },
        "timeZone": {
          "description": "This request's time zone if specified. If unspecified, the property's time zone is used. The request's time zone is used to interpret the start & end dates of the report. Formatted as strings from the IANA Time Zone database (https://www.iana.org/time-zones); for example \"America/New_York\" or \"Asia/Tokyo\".",
          "type": "string"
        },
        "dateRanges": {
          "type": "array",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaAccessDateRange"
          },
          "description": "Date ranges of access records to read. If multiple date ranges are requested, each response row will contain a zero based date range index. If two date ranges overlap, the access records for the overlapping days is included in the response rows for both date ranges. Requests are allowed up to 2 date ranges."
        },
        "returnEntityQuota": {
          "description": "Toggles whether to return the current state of this Analytics Property's quota. Quota is returned in [AccessQuota](#AccessQuota). For account-level requests, this field must be false.",
          "type": "boolean"
        },
        "limit": {
          "description": "The number of rows to return. If unspecified, 10,000 rows are returned. The API returns a maximum of 100,000 rows per request, no matter how many you ask for. `limit` must be positive. The API may return fewer rows than the requested `limit`, if there aren't as many remaining rows as the `limit`. For instance, there are fewer than 300 possible values for the dimension `country`, so when reporting on only `country`, you can't get more than 300 rows, even if you set `limit` to a higher value. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).",
          "type": "string",
          "format": "int64"
        },
        "offset": {
          "description": "The row count of the start row. The first row is counted as row 0. If offset is unspecified, it is treated as 0. If offset is zero, then this method will return the first page of results with `limit` entries. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).",
          "format": "int64",
          "type": "string"
        }
      },
      "id": "GoogleAnalyticsAdminV1betaRunAccessReportRequest",
      "type": "object"
    },
    "GoogleAnalyticsAdminV1betaKeyEventDefaultValue": {
      "properties": {
        "currencyCode": {
          "type": "string",
          "description": "Required. When an occurrence of this Key Event (specified by event_name) has no set currency this currency will be applied as the default. Must be in ISO 4217 currency code format. See https://en.wikipedia.org/wiki/ISO_4217 for more information."
        },
        "numericValue": {
          "type": "number",
          "format": "double",
          "description": "Required. This will be used to populate the \"value\" parameter for all occurrences of this Key Event (specified by event_name) where that parameter is unset."
        }
      },
      "description": "Defines a default value/currency for a key event.",
      "id": "GoogleAnalyticsAdminV1betaKeyEventDefaultValue",
      "type": "object"
    },
    "GoogleAnalyticsAdminV1betaPropertySummary": {
      "type": "object",
      "id": "GoogleAnalyticsAdminV1betaPropertySummary",
      "properties": {
        "property": {
          "description": "Resource name of property referred to by this property summary Format: properties/{property_id} Example: \"properties/1000\"",
          "type": "string"
        },
        "parent": {
          "type": "string",
          "description": "Resource name of this property's logical parent. Note: The Property-Moving UI can be used to change the parent. Format: accounts/{account}, properties/{property} Example: \"accounts/100\", \"properties/200\""
        },
        "canEdit": {
          "description": "If true, then the user has a Google Analytics role that permits them to edit the property.",
          "type": "boolean"
        },
        "propertyType": {
          "type": "string",
          "enum": [
            "PROPERTY_TYPE_UNSPECIFIED",
            "PROPERTY_TYPE_ORDINARY",
            "PROPERTY_TYPE_SUBPROPERTY",
            "PROPERTY_TYPE_ROLLUP"
          ],
          "enumDescriptions": [
            "Unknown or unspecified property type",
            "Ordinary Google Analytics property",
            "Google Analytics subproperty",
            "Google Analytics rollup property"
          ],
          "description": "The property's property type."
        },
        "displayName": {
          "type": "string",
          "description": "Display name for the property referred to in this property summary."
        }
      },
      "description": "A virtual resource representing metadata for a Google Analytics property."
    },
    "GoogleAnalyticsAdminV1betaListPropertiesResponse": {
      "description": "Response message for ListProperties RPC.",
      "id": "GoogleAnalyticsAdminV1betaListPropertiesResponse",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        },
        "properties": {
          "description": "Results that matched the filter criteria and were accessible to the caller.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaProperty"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1betaProvisionAccountTicketResponse": {
      "description": "Response message for ProvisionAccountTicket RPC.",
      "type": "object",
      "id": "GoogleAnalyticsAdminV1betaProvisionAccountTicketResponse",
      "properties": {
        "accountTicketId": {
          "type": "string",
          "description": "The param to be passed in the ToS link."
        }
      }
    },
    "GoogleAnalyticsAdminV1betaDataStreamIosAppStreamData": {
      "description": "Data specific to iOS app streams.",
      "type": "object",
      "id": "GoogleAnalyticsAdminV1betaDataStreamIosAppStreamData",
      "properties": {
        "firebaseAppId": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. ID of the corresponding iOS app in Firebase, if any. This ID can change if the iOS app is deleted and recreated."
        },
        "bundleId": {
          "description": "Required. Immutable. The Apple App Store Bundle ID for the app Example: \"com.example.myiosapp\"",
          "type": "string"
        }
      }
    },
    "GoogleAnalyticsAdminV1betaDataRetentionSettings": {
      "type": "object",
      "properties": {
        "eventDataRetention": {
          "type": "string",
          "enum": [
            "RETENTION_DURATION_UNSPECIFIED",
            "TWO_MONTHS",
            "FOURTEEN_MONTHS",
            "TWENTY_SIX_MONTHS",
            "THIRTY_EIGHT_MONTHS",
            "FIFTY_MONTHS"
          ],
          "enumDescriptions": [
            "Data retention time duration is not specified.",
            "The data retention time duration is 2 months.",
            "The data retention time duration is 14 months.",
            "The data retention time duration is 26 months. Available to 360 properties only. Available for event data only.",
            "The data retention time duration is 38 months. Available to 360 properties only. Available for event data only.",
            "The data retention time duration is 50 months. Available to 360 properties only. Available for event data only."
          ],
          "description": "Required. The length of time that event-level data is retained."
        },
        "name": {
          "type": "string",
          "description": "Identifier. Resource name for this DataRetentionSetting resource. Format: properties/{property}/dataRetentionSettings"
        },
        "resetUserDataOnNewActivity": {
          "type": "boolean",
          "description": "If true, reset the retention period for the user identifier with every event from that user."
        },
        "userDataRetention": {
          "description": "Required. The length of time that user-level data is retained.",
          "type": "string",
          "enum": [
            "RETENTION_DURATION_UNSPECIFIED",
            "TWO_MONTHS",
            "FOURTEEN_MONTHS",
            "TWENTY_SIX_MONTHS",
            "THIRTY_EIGHT_MONTHS",
            "FIFTY_MONTHS"
          ],
          "enumDescriptions": [
            "Data retention time duration is not specified.",
            "The data retention time duration is 2 months.",
            "The data retention time duration is 14 months.",
            "The data retention time duration is 26 months. Available to 360 properties only. Available for event data only.",
            "The data retention time duration is 38 months. Available to 360 properties only. Available for event data only.",
            "The data retention time duration is 50 months. Available to 360 properties only. Available for event data only."
          ]
        }
      },
      "description": "Settings values for data retention. This is a singleton resource.",
      "id": "GoogleAnalyticsAdminV1betaDataRetentionSettings"
    },
    "GoogleAnalyticsAdminV1betaArchiveCustomDimensionRequest": {
      "id": "GoogleAnalyticsAdminV1betaArchiveCustomDimensionRequest",
      "description": "Request message for ArchiveCustomDimension RPC.",
      "type": "object",
      "properties": {}
    },
    "GoogleAnalyticsAdminV1betaListMeasurementProtocolSecretsResponse": {
      "id": "GoogleAnalyticsAdminV1betaListMeasurementProtocolSecretsResponse",
      "description": "Response message for ListMeasurementProtocolSecret RPC",
      "type": "object",
      "properties": {
        "measurementProtocolSecrets": {
          "type": "array",
          "description": "A list of secrets for the parent stream specified in the request.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaMeasurementProtocolSecret"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        }
      }
    },
    "GoogleAnalyticsAdminV1betaAccessOrderBy": {
      "description": "Order bys define how rows will be sorted in the response. For example, ordering rows by descending access count is one ordering, and ordering rows by the country string is a different ordering.",
      "type": "object",
      "properties": {
        "metric": {
          "description": "Sorts results by a metric's values.",
          "$ref": "GoogleAnalyticsAdminV1betaAccessOrderByMetricOrderBy"
        },
        "desc": {
          "type": "boolean",
          "description": "If true, sorts by descending order. If false or unspecified, sorts in ascending order."
        },
        "dimension": {
          "description": "Sorts results by a dimension's values.",
          "$ref": "GoogleAnalyticsAdminV1betaAccessOrderByDimensionOrderBy"
        }
      },
      "id": "GoogleAnalyticsAdminV1betaAccessOrderBy"
    },
    "GoogleAnalyticsAdminV1betaConversionEvent": {
      "type": "object",
      "description": "A conversion event in a Google Analytics property.",
      "id": "GoogleAnalyticsAdminV1betaConversionEvent",
      "properties": {
        "name": {
          "type": "string",
          "description": "Identifier. Resource name of this conversion event. Format: properties/{property}/conversionEvents/{conversion_event}"
        },
        "custom": {
          "type": "boolean",
          "description": "Output only. If set to true, this conversion event refers to a custom event. If set to false, this conversion event refers to a default event in GA. Default events typically have special meaning in GA. Default events are usually created for you by the GA system, but in some cases can be created by property admins. Custom events count towards the maximum number of custom conversion events that may be created per property.",
          "readOnly": true
        },
        "defaultConversionValue": {
          "$ref": "GoogleAnalyticsAdminV1betaConversionEventDefaultConversionValue",
          "description": "Optional. Defines a default value/currency for a conversion event."
        },
        "createTime": {
          "readOnly": true,
          "description": "Output only. Time when this conversion event was created in the property.",
          "type": "string",
          "format": "google-datetime"
        },
        "eventName": {
          "description": "Immutable. The event name for this conversion event. Examples: 'click', 'purchase'",
          "type": "string"
        },
        "deletable": {
          "type": "boolean",
          "readOnly": true,
          "description": "Output only. If set, this event can currently be deleted with DeleteConversionEvent."
        },
        "countingMethod": {
          "enumDescriptions": [
            "Counting method not specified.",
            "Each Event instance is considered a Conversion.",
            "An Event instance is considered a Conversion at most once per session per user."
          ],
          "description": "Optional. The method by which conversions will be counted across multiple events within a session. If this value is not provided, it will be set to `ONCE_PER_EVENT`.",
          "type": "string",
          "enum": [
            "CONVERSION_COUNTING_METHOD_UNSPECIFIED",
            "ONCE_PER_EVENT",
            "ONCE_PER_SESSION"
          ]
        }
      }
    },
    "GoogleAnalyticsAdminV1betaAccessRow": {
      "description": "Access report data for each row.",
      "id": "GoogleAnalyticsAdminV1betaAccessRow",
      "type": "object",
      "properties": {
        "dimensionValues": {
          "type": "array",
          "description": "List of dimension values. These values are in the same order as specified in the request.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaAccessDimensionValue"
          }
        },
        "metricValues": {
          "type": "array",
          "description": "List of metric values. These values are in the same order as specified in the request.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaAccessMetricValue"
          }
        }
      }
    },
    "GoogleAnalyticsAdminV1betaAccessFilter": {
      "properties": {
        "fieldName": {
          "description": "The dimension name or metric name.",
          "type": "string"
        },
        "numericFilter": {
          "description": "A filter for numeric or date values.",
          "$ref": "GoogleAnalyticsAdminV1betaAccessNumericFilter"
        },
        "stringFilter": {
          "$ref": "GoogleAnalyticsAdminV1betaAccessStringFilter",
          "description": "Strings related filter."
        },
        "inListFilter": {
          "description": "A filter for in list values.",
          "$ref": "GoogleAnalyticsAdminV1betaAccessInListFilter"
        },
        "betweenFilter": {
          "description": "A filter for two values.",
          "$ref": "GoogleAnalyticsAdminV1betaAccessBetweenFilter"
        }
      },
      "id": "GoogleAnalyticsAdminV1betaAccessFilter",
      "description": "An expression to filter dimension or metric values.",
      "type": "object"
    },
    "GoogleAnalyticsAdminV1betaListKeyEventsResponse": {
      "description": "Response message for ListKeyEvents RPC.",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        },
        "keyEvents": {
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaKeyEvent"
          },
          "description": "The requested Key Events",
          "type": "array"
        }
      },
      "type": "object",
      "id": "GoogleAnalyticsAdminV1betaListKeyEventsResponse"
    },
    "GoogleAnalyticsAdminV1betaChangeHistoryChange": {
      "id": "GoogleAnalyticsAdminV1betaChangeHistoryChange",
      "type": "object",
      "description": "A description of a change to a single Google Analytics resource.",
      "properties": {
        "resource": {
          "description": "Resource name of the resource whose changes are described by this entry.",
          "type": "string"
        },
        "action": {
          "enumDescriptions": [
            "Action type unknown or not specified.",
            "Resource was created in this change.",
            "Resource was updated in this change.",
            "Resource was deleted in this change."
          ],
          "description": "The type of action that changed this resource.",
          "type": "string",
          "enum": [
            "ACTION_TYPE_UNSPECIFIED",
            "CREATED",
            "UPDATED",
            "DELETED"
          ]
        },
        "resourceAfterChange": {
          "description": "Resource contents from after the change was made. If this resource was deleted in this change, this field will be missing.",
          "$ref": "GoogleAnalyticsAdminV1betaChangeHistoryChangeChangeHistoryResource"
        },
        "resourceBeforeChange": {
          "$ref": "GoogleAnalyticsAdminV1betaChangeHistoryChangeChangeHistoryResource",
          "description": "Resource contents from before the change was made. If this resource was created in this change, this field will be missing."
        }
      }
    },
    "GoogleAnalyticsAdminV1betaListCustomDimensionsResponse": {
      "type": "object",
      "description": "Response message for ListCustomDimensions RPC.",
      "id": "GoogleAnalyticsAdminV1betaListCustomDimensionsResponse",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        },
        "customDimensions": {
          "description": "List of CustomDimensions.",
          "type": "array",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaCustomDimension"
          }
        }
      }
    },
    "GoogleAnalyticsAdminV1betaAccessMetric": {
      "properties": {
        "metricName": {
          "description": "The API name of the metric. See [Data Access Schema](https://developers.google.com/analytics/devguides/config/admin/v1/access-api-schema) for the list of metrics supported in this API. Metrics are referenced by name in `metricFilter` & `orderBys`.",
          "type": "string"
        }
      },
      "id": "GoogleAnalyticsAdminV1betaAccessMetric",
      "type": "object",
      "description": "The quantitative measurements of a report. For example, the metric `accessCount` is the total number of data access records."
    },
    "GoogleAnalyticsAdminV1betaAccessDimension": {
      "description": "Dimensions are attributes of your data. For example, the dimension `userEmail` indicates the email of the user that accessed reporting data. Dimension values in report responses are strings.",
      "properties": {
        "dimensionName": {
          "type": "string",
          "description": "The API name of the dimension. See [Data Access Schema](https://developers.google.com/analytics/devguides/config/admin/v1/access-api-schema) for the list of dimensions supported in this API. Dimensions are referenced by name in `dimensionFilter` and `orderBys`."
        }
      },
      "id": "GoogleAnalyticsAdminV1betaAccessDimension",
      "type": "object"
    },
    "GoogleAnalyticsAdminV1betaConversionEventDefaultConversionValue": {
      "id": "GoogleAnalyticsAdminV1betaConversionEventDefaultConversionValue",
      "properties": {
        "currencyCode": {
          "type": "string",
          "description": "When a conversion event for this event_name has no set currency, this currency will be applied as the default. Must be in ISO 4217 currency code format. See https://en.wikipedia.org/wiki/ISO_4217 for more information."
        },
        "value": {
          "description": "This value will be used to populate the value for all conversions of the specified event_name where the event \"value\" parameter is unset.",
          "type": "number",
          "format": "double"
        }
      },
      "description": "Defines a default value/currency for a conversion event. Both value and currency must be provided.",
      "type": "object"
    },
    "GoogleAnalyticsAdminV1betaDataSharingSettings": {
      "id": "GoogleAnalyticsAdminV1betaDataSharingSettings",
      "description": "A resource message representing data sharing settings of a Google Analytics account.",
      "properties": {
        "sharingWithGoogleSupportEnabled": {
          "description": "Allows Google technical support representatives access to your Google Analytics data and account when necessary to provide service and find solutions to technical issues. This field maps to the \"Technical support\" field in the Google Analytics Admin UI.",
          "type": "boolean"
        },
        "sharingWithGoogleAssignedSalesEnabled": {
          "type": "boolean",
          "description": "Allows Google access to your Google Analytics account data, including account usage and configuration data, product spending, and users associated with your Google Analytics account, so that Google can help you make the most of Google products, providing you with insights, offers, recommendations, and optimization tips across Google Analytics and other Google products for business. This field maps to the \"Recommendations for your business\" field in the Google Analytics Admin UI."
        },
        "name": {
          "type": "string",
          "description": "Identifier. Resource name. Format: accounts/{account}/dataSharingSettings Example: \"accounts/1000/dataSharingSettings\""
        },
        "sharingWithOthersEnabled": {
          "description": "Enable features like predictions, modeled data, and benchmarking that can provide you with richer business insights when you contribute aggregated measurement data. The data you share (including information about the property from which it is shared) is aggregated and de-identified before being used to generate business insights. This field maps to the \"Modeling contributions & business insights\" field in the Google Analytics Admin UI.",
          "type": "boolean"
        },
        "sharingWithGoogleAnySalesEnabled": {
          "deprecated": true,
          "type": "boolean",
          "description": "Deprecated. This field is no longer used and always returns false."
        },
        "sharingWithGoogleProductsEnabled": {
          "description": "Allows Google to use the data to improve other Google products or services. This fields maps to the \"Google products & services\" field in the Google Analytics Admin UI.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1betaSearchChangeHistoryEventsRequest": {
      "type": "object",
      "id": "GoogleAnalyticsAdminV1betaSearchChangeHistoryEventsRequest",
      "description": "Request message for SearchChangeHistoryEvents RPC.",
      "properties": {
        "property": {
          "description": "Optional. Resource name for a child property. If set, only return changes made to this property or its child resources. Format: properties/{propertyId} Example: `properties/100`",
          "type": "string"
        },
        "pageSize": {
          "format": "int32",
          "description": "Optional. The maximum number of ChangeHistoryEvent items to return. If unspecified, at most 50 items will be returned. The maximum value is 200 (higher values will be coerced to the maximum). Note that the service may return a page with fewer items than this value specifies (potentially even zero), and that there still may be additional pages. If you want a particular number of items, you'll need to continue requesting additional pages using `page_token` until you get the needed number.",
          "type": "integer"
        },
        "pageToken": {
          "type": "string",
          "description": "Optional. A page token, received from a previous `SearchChangeHistoryEvents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchChangeHistoryEvents` must match the call that provided the page token."
        },
        "earliestChangeTime": {
          "description": "Optional. If set, only return changes made after this time (inclusive).",
          "format": "google-datetime",
          "type": "string"
        },
        "action": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "ACTION_TYPE_UNSPECIFIED",
              "CREATED",
              "UPDATED",
              "DELETED"
            ],
            "enumDescriptions": [
              "Action type unknown or not specified.",
              "Resource was created in this change.",
              "Resource was updated in this change.",
              "Resource was deleted in this change."
            ]
          },
          "description": "Optional. If set, only return changes that match one or more of these types of actions."
        },
        "latestChangeTime": {
          "description": "Optional. If set, only return changes made before this time (inclusive).",
          "type": "string",
          "format": "google-datetime"
        },
        "resourceType": {
          "type": "array",
          "description": "Optional. If set, only return changes if they are for a resource that matches at least one of these types.",
          "items": {
            "type": "string",
            "enum": [
              "CHANGE_HISTORY_RESOURCE_TYPE_UNSPECIFIED",
              "ACCOUNT",
              "PROPERTY",
              "FIREBASE_LINK",
              "GOOGLE_ADS_LINK",
              "GOOGLE_SIGNALS_SETTINGS",
              "CONVERSION_EVENT",
              "MEASUREMENT_PROTOCOL_SECRET",
              "CUSTOM_DIMENSION",
              "CUSTOM_METRIC",
              "DATA_RETENTION_SETTINGS",
              "DISPLAY_VIDEO_360_ADVERTISER_LINK",
              "DISPLAY_VIDEO_360_ADVERTISER_LINK_PROPOSAL",
              "DATA_STREAM",
              "ATTRIBUTION_SETTINGS"
            ],
            "enumDescriptions": [
              "Resource type unknown or not specified.",
              "Account resource",
              "Property resource",
              "FirebaseLink resource",
              "GoogleAdsLink resource",
              "GoogleSignalsSettings resource",
              "ConversionEvent resource",
              "MeasurementProtocolSecret resource",
              "CustomDimension resource",
              "CustomMetric resource",
              "DataRetentionSettings resource",
              "DisplayVideo360AdvertiserLink resource",
              "DisplayVideo360AdvertiserLinkProposal resource",
              "DataStream resource",
              "AttributionSettings resource"
            ]
          }
        },
        "actorEmail": {
          "description": "Optional. If set, only return changes if they are made by a user in this list.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "GoogleAnalyticsAdminV1betaAccountSummary": {
      "type": "object",
      "id": "GoogleAnalyticsAdminV1betaAccountSummary",
      "properties": {
        "propertySummaries": {
          "type": "array",
          "description": "List of summaries for child accounts of this account.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaPropertySummary"
          }
        },
        "name": {
          "description": "Identifier. Resource name for this account summary. Format: accountSummaries/{account_id} Example: \"accountSummaries/1000\"",
          "type": "string"
        },
        "displayName": {
          "type": "string",
          "description": "Display name for the account referred to in this account summary."
        },
        "account": {
          "description": "Resource name of account referred to by this account summary Format: accounts/{account_id} Example: \"accounts/1000\"",
          "type": "string"
        }
      },
      "description": "A virtual resource representing an overview of an account and all its child Google Analytics properties."
    },
    "GoogleAnalyticsAdminV1betaListFirebaseLinksResponse": {
      "type": "object",
      "id": "GoogleAnalyticsAdminV1betaListFirebaseLinksResponse",
      "description": "Response message for ListFirebaseLinks RPC",
      "properties": {
        "firebaseLinks": {
          "type": "array",
          "description": "List of FirebaseLinks. This will have at most one value.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaFirebaseLink"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. Currently, Google Analytics supports only one FirebaseLink per property, so this will never be populated."
        }
      }
    },
    "GoogleAnalyticsAdminV1betaNumericValue": {
      "description": "To represent a number.",
      "type": "object",
      "id": "GoogleAnalyticsAdminV1betaNumericValue",
      "properties": {
        "int64Value": {
          "format": "int64",
          "description": "Integer value",
          "type": "string"
        },
        "doubleValue": {
          "type": "number",
          "description": "Double value",
          "format": "double"
        }
      }
    },
    "GoogleAnalyticsAdminV1betaChangeHistoryEvent": {
      "description": "A set of changes within a Google Analytics account or its child properties that resulted from the same cause. Common causes would be updates made in the Google Analytics UI, changes from customer support, or automatic Google Analytics system changes.",
      "id": "GoogleAnalyticsAdminV1betaChangeHistoryEvent",
      "properties": {
        "changesFiltered": {
          "type": "boolean",
          "description": "If true, then the list of changes returned was filtered, and does not represent all changes that occurred in this event."
        },
        "userActorEmail": {
          "type": "string",
          "description": "Email address of the Google account that made the change. This will be a valid email address if the actor field is set to USER, and empty otherwise. Google accounts that have been deleted will cause an error."
        },
        "actorType": {
          "description": "The type of actor that made this change.",
          "enumDescriptions": [
            "Unknown or unspecified actor type.",
            "Changes made by the user specified in actor_email.",
            "Changes made by the Google Analytics system.",
            "Changes made by Google Analytics support team staff."
          ],
          "type": "string",
          "enum": [
            "ACTOR_TYPE_UNSPECIFIED",
            "USER",
            "SYSTEM",
            "SUPPORT"
          ]
        },
        "id": {
          "description": "ID of this change history event. This ID is unique across Google Analytics.",
          "type": "string"
        },
        "changeTime": {
          "description": "Time when change was made.",
          "type": "string",
          "format": "google-datetime"
        },
        "changes": {
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaChangeHistoryChange"
          },
          "description": "A list of changes made in this change history event that fit the filters specified in SearchChangeHistoryEventsRequest.",
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1betaAccessNumericFilter": {
      "type": "object",
      "properties": {
        "value": {
          "description": "A numeric value or a date value.",
          "$ref": "GoogleAnalyticsAdminV1betaNumericValue"
        },
        "operation": {
          "description": "The operation type for this filter.",
          "type": "string",
          "enum": [
            "OPERATION_UNSPECIFIED",
            "EQUAL",
            "LESS_THAN",
            "LESS_THAN_OR_EQUAL",
            "GREATER_THAN",
            "GREATER_THAN_OR_EQUAL"
          ],
          "enumDescriptions": [
            "Unspecified.",
            "Equal",
            "Less than",
            "Less than or equal",
            "Greater than",
            "Greater than or equal"
          ]
        }
      },
      "description": "Filters for numeric or date values.",
      "id": "GoogleAnalyticsAdminV1betaAccessNumericFilter"
    },
    "GoogleAnalyticsAdminV1betaAccessInListFilter": {
      "type": "object",
      "description": "The result needs to be in a list of string values.",
      "id": "GoogleAnalyticsAdminV1betaAccessInListFilter",
      "properties": {
        "caseSensitive": {
          "type": "boolean",
          "description": "If true, the string value is case sensitive."
        },
        "values": {
          "type": "array",
          "description": "The list of string values. Must be non-empty.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleAnalyticsAdminV1betaSearchChangeHistoryEventsResponse": {
      "type": "object",
      "id": "GoogleAnalyticsAdminV1betaSearchChangeHistoryEventsResponse",
      "properties": {
        "changeHistoryEvents": {
          "description": "Results that were accessible to the caller.",
          "type": "array",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaChangeHistoryEvent"
          }
        },
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        }
      },
      "description": "Response message for SearchAccounts RPC."
    },
    "GoogleAnalyticsAdminV1betaListDataStreamsResponse": {
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        },
        "dataStreams": {
          "type": "array",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaDataStream"
          },
          "description": "List of DataStreams."
        }
      },
      "id": "GoogleAnalyticsAdminV1betaListDataStreamsResponse",
      "description": "Response message for ListDataStreams RPC.",
      "type": "object"
    },
    "GoogleAnalyticsAdminV1betaAcknowledgeUserDataCollectionResponse": {
      "type": "object",
      "id": "GoogleAnalyticsAdminV1betaAcknowledgeUserDataCollectionResponse",
      "properties": {},
      "description": "Response message for AcknowledgeUserDataCollection RPC."
    },
    "GoogleAnalyticsAdminV1betaListAccountsResponse": {
      "id": "GoogleAnalyticsAdminV1betaListAccountsResponse",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        },
        "accounts": {
          "description": "Results that were accessible to the caller.",
          "type": "array",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaAccount"
          }
        }
      },
      "type": "object",
      "description": "Request message for ListAccounts RPC."
    },
    "GoogleProtobufEmpty": {
      "properties": {},
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }",
      "id": "GoogleProtobufEmpty",
      "type": "object"
    },
    "GoogleAnalyticsAdminV1betaAccessStringFilter": {
      "properties": {
        "matchType": {
          "description": "The match type for this filter.",
          "type": "string",
          "enum": [
            "MATCH_TYPE_UNSPECIFIED",
            "EXACT",
            "BEGINS_WITH",
            "ENDS_WITH",
            "CONTAINS",
            "FULL_REGEXP",
            "PARTIAL_REGEXP"
          ],
          "enumDescriptions": [
            "Unspecified",
            "Exact match of the string value.",
            "Begins with the string value.",
            "Ends with the string value.",
            "Contains the string value.",
            "Full match for the regular expression with the string value.",
            "Partial match for the regular expression with the string value."
          ]
        },
        "caseSensitive": {
          "description": "If true, the string value is case sensitive.",
          "type": "boolean"
        },
        "value": {
          "type": "string",
          "description": "The string value used for the matching."
        }
      },
      "id": "GoogleAnalyticsAdminV1betaAccessStringFilter",
      "description": "The filter for strings.",
      "type": "object"
    },
    "GoogleAnalyticsAdminV1betaListGoogleAdsLinksResponse": {
      "description": "Response message for ListGoogleAdsLinks RPC.",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "googleAdsLinks": {
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaGoogleAdsLink"
          },
          "description": "List of GoogleAdsLinks.",
          "type": "array"
        }
      },
      "id": "GoogleAnalyticsAdminV1betaListGoogleAdsLinksResponse"
    },
    "GoogleAnalyticsAdminV1betaListAccountSummariesResponse": {
      "description": "Response message for ListAccountSummaries RPC.",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        },
        "accountSummaries": {
          "description": "Account summaries of all accounts the caller has access to.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaAccountSummary"
          },
          "type": "array"
        }
      },
      "id": "GoogleAnalyticsAdminV1betaListAccountSummariesResponse"
    },
    "GoogleAnalyticsAdminV1betaAccessDimensionHeader": {
      "type": "object",
      "properties": {
        "dimensionName": {
          "type": "string",
          "description": "The dimension's name; for example 'userEmail'."
        }
      },
      "description": "Describes a dimension column in the report. Dimensions requested in a report produce column entries within rows and DimensionHeaders. However, dimensions used exclusively within filters or expressions do not produce columns in a report; correspondingly, those dimensions do not produce headers.",
      "id": "GoogleAnalyticsAdminV1betaAccessDimensionHeader"
    },
    "GoogleAnalyticsAdminV1betaRunAccessReportResponse": {
      "properties": {
        "quota": {
          "description": "The quota state for this Analytics property including this request. This field doesn't work with account-level requests.",
          "$ref": "GoogleAnalyticsAdminV1betaAccessQuota"
        },
        "rows": {
          "type": "array",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaAccessRow"
          },
          "description": "Rows of dimension value combinations and metric values in the report."
        },
        "rowCount": {
          "description": "The total number of rows in the query result. `rowCount` is independent of the number of rows returned in the response, the `limit` request parameter, and the `offset` request parameter. For example if a query returns 175 rows and includes `limit` of 50 in the API request, the response will contain `rowCount` of 175 but only 50 rows. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).",
          "format": "int32",
          "type": "integer"
        },
        "dimensionHeaders": {
          "description": "The header for a column in the report that corresponds to a specific dimension. The number of DimensionHeaders and ordering of DimensionHeaders matches the dimensions present in rows.",
          "type": "array",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaAccessDimensionHeader"
          }
        },
        "metricHeaders": {
          "type": "array",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaAccessMetricHeader"
          },
          "description": "The header for a column in the report that corresponds to a specific metric. The number of MetricHeaders and ordering of MetricHeaders matches the metrics present in rows."
        }
      },
      "type": "object",
      "description": "The customized Data Access Record Report response.",
      "id": "GoogleAnalyticsAdminV1betaRunAccessReportResponse"
    },
    "GoogleAnalyticsAdminV1betaAccessQuotaStatus": {
      "properties": {
        "remaining": {
          "type": "integer",
          "format": "int32",
          "description": "Quota remaining after this request."
        },
        "consumed": {
          "format": "int32",
          "type": "integer",
          "description": "Quota consumed by this request."
        }
      },
      "type": "object",
      "description": "Current state for a particular quota group.",
      "id": "GoogleAnalyticsAdminV1betaAccessQuotaStatus"
    },
    "GoogleAnalyticsAdminV1betaAccount": {
      "type": "object",
      "properties": {
        "updateTime": {
          "description": "Output only. Time when account payload fields were last updated.",
          "readOnly": true,
          "format": "google-datetime",
          "type": "string"
        },
        "name": {
          "description": "Identifier. Resource name of this account. Format: accounts/{account} Example: \"accounts/100\"",
          "type": "string"
        },
        "createTime": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Time when this account was originally created.",
          "format": "google-datetime"
        },
        "deleted": {
          "description": "Output only. Indicates whether this Account is soft-deleted or not. Deleted accounts are excluded from List results unless specifically requested.",
          "type": "boolean",
          "readOnly": true
        },
        "regionCode": {
          "type": "string",
          "description": "Country of business. Must be a Unicode CLDR region code."
        },
        "gmpOrganization": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The URI for a Google Marketing Platform organization resource. Only set when this account is connected to a GMP organization. Format: marketingplatformadmin.googleapis.com/organizations/{org_id}"
        },
        "displayName": {
          "description": "Required. Human-readable display name for this account.",
          "type": "string"
        }
      },
      "id": "GoogleAnalyticsAdminV1betaAccount",
      "description": "A resource message representing a Google Analytics account."
    },
    "GoogleAnalyticsAdminV1betaListCustomMetricsResponse": {
      "type": "object",
      "id": "GoogleAnalyticsAdminV1betaListCustomMetricsResponse",
      "properties": {
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "customMetrics": {
          "type": "array",
          "description": "List of CustomMetrics.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaCustomMetric"
          }
        }
      },
      "description": "Response message for ListCustomMetrics RPC."
    },
    "GoogleAnalyticsAdminV1betaAccessBetweenFilter": {
      "properties": {
        "fromValue": {
          "$ref": "GoogleAnalyticsAdminV1betaNumericValue",
          "description": "Begins with this number."
        },
        "toValue": {
          "description": "Ends with this number.",
          "$ref": "GoogleAnalyticsAdminV1betaNumericValue"
        }
      },
      "type": "object",
      "description": "To express that the result needs to be between two numbers (inclusive).",
      "id": "GoogleAnalyticsAdminV1betaAccessBetweenFilter"
    },
    "GoogleAnalyticsAdminV1betaProvisionAccountTicketRequest": {
      "type": "object",
      "properties": {
        "redirectUri": {
          "description": "Redirect URI where the user will be sent after accepting Terms of Service. Must be configured in Cloud Console as a Redirect URI.",
          "type": "string"
        },
        "account": {
          "$ref": "GoogleAnalyticsAdminV1betaAccount",
          "description": "The account to create."
        }
      },
      "description": "Request message for ProvisionAccountTicket RPC.",
      "id": "GoogleAnalyticsAdminV1betaProvisionAccountTicketRequest"
    },
    "GoogleAnalyticsAdminV1betaAccessMetricValue": {
      "properties": {
        "value": {
          "type": "string",
          "description": "The measurement value. For example, this value may be '13'."
        }
      },
      "description": "The value of a metric.",
      "id": "GoogleAnalyticsAdminV1betaAccessMetricValue",
      "type": "object"
    },
    "GoogleAnalyticsAdminV1betaAccessFilterExpressionList": {
      "properties": {
        "expressions": {
          "type": "array",
          "description": "A list of filter expressions.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaAccessFilterExpression"
          }
        }
      },
      "description": "A list of filter expressions.",
      "id": "GoogleAnalyticsAdminV1betaAccessFilterExpressionList",
      "type": "object"
    },
    "GoogleAnalyticsAdminV1betaListConversionEventsResponse": {
      "id": "GoogleAnalyticsAdminV1betaListConversionEventsResponse",
      "description": "Response message for ListConversionEvents RPC.",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "conversionEvents": {
          "items": {
            "$ref": "GoogleAnalyticsAdminV1betaConversionEvent"
          },
          "description": "The requested conversion events",
          "type": "array"
        }
      }
    },
    "GoogleAnalyticsAdminV1betaCustomDimension": {
      "id": "GoogleAnalyticsAdminV1betaCustomDimension",
      "description": "A definition for a CustomDimension.",
      "properties": {
        "scope": {
          "type": "string",
          "enum": [
            "DIMENSION_SCOPE_UNSPECIFIED",
            "EVENT",
            "USER",
            "ITEM"
          ],
          "enumDescriptions": [
            "Scope unknown or not specified.",
            "Dimension scoped to an event.",
            "Dimension scoped to a user.",
            "Dimension scoped to eCommerce items"
          ],
          "description": "Required. Immutable. The scope of this dimension."
        },
        "parameterName": {
          "description": "Required. Immutable. Tagging parameter name for this custom dimension. If this is a user-scoped dimension, then this is the user property name. If this is an event-scoped dimension, then this is the event parameter name. If this is an item-scoped dimension, then this is the parameter name found in the eCommerce items array. May only contain alphanumeric and underscore characters, starting with a letter. Max length of 24 characters for user-scoped dimensions, 40 characters for event-scoped dimensions.",
          "type": "string"
        },
        "name": {
          "description": "Identifier. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}",
          "type": "string"
        },
        "disallowAdsPersonalization": {
          "description": "Optional. If set to true, sets this dimension as NPA and excludes it from ads personalization. This is currently only supported by user-scoped custom dimensions.",
          "type": "boolean"
        },
        "displayName": {
          "description": "Required. Display name for this custom dimension as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.",
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "Optional. Description for this custom dimension. Max length of 150 characters."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1betaFirebaseLink": {
      "id": "GoogleAnalyticsAdminV1betaFirebaseLink",
      "properties": {
        "createTime": {
          "format": "google-datetime",
          "description": "Output only. Time when this FirebaseLink was originally created.",
          "type": "string",
          "readOnly": true
        },
        "name": {
          "type": "string",
          "description": "Identifier. Example format: properties/1234/firebaseLinks/5678"
        },
        "project": {
          "description": "Immutable. Firebase project resource name. When creating a FirebaseLink, you may provide this resource name using either a project number or project ID. Once this resource has been created, returned FirebaseLinks will always have a project_name that contains a project number. Format: 'projects/{project number}' Example: 'projects/1234'",
          "type": "string"
        }
      },
      "type": "object",
      "description": "A link between a Google Analytics property and a Firebase project."
    },
    "GoogleAnalyticsAdminV1betaAccessFilterExpression": {
      "description": "Expresses dimension or metric filters. The fields in the same expression need to be either all dimensions or all metrics.",
      "properties": {
        "orGroup": {
          "description": "Each of the FilterExpressions in the or_group has an OR relationship.",
          "$ref": "GoogleAnalyticsAdminV1betaAccessFilterExpressionList"
        },
        "notExpression": {
          "$ref": "GoogleAnalyticsAdminV1betaAccessFilterExpression",
          "description": "The FilterExpression is NOT of not_expression."
        },
        "andGroup": {
          "$ref": "GoogleAnalyticsAdminV1betaAccessFilterExpressionList",
          "description": "Each of the FilterExpressions in the and_group has an AND relationship."
        },
        "accessFilter": {
          "$ref": "GoogleAnalyticsAdminV1betaAccessFilter",
          "description": "A primitive filter. In the same FilterExpression, all of the filter's field names need to be either all dimensions or all metrics."
        }
      },
      "id": "GoogleAnalyticsAdminV1betaAccessFilterExpression",
      "type": "object"
    }
  },
  "description": "Manage properties in Google Analytics. Warning: Creating multiple Customer Applications, Accounts, or Projects to simulate or act as a single Customer Application, Account, or Project (respectively) or to circumvent Service-specific usage limits or quotas is a direct violation of Google Cloud Platform Terms of Service as well as Google APIs Terms of Service. These actions can result in immediate termination of your GCP project(s) without any warning.",
  "batchPath": "batch",
  "protocol": "rest",
  "title": "Google Analytics Admin API",
  "resources": {
    "accountSummaries": {
      "methods": {
        "list": {
          "description": "Returns summaries of all accounts accessible by the caller.",
          "parameterOrder": [],
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ],
          "parameters": {
            "pageSize": {
              "location": "query",
              "type": "integer",
              "description": "Optional. The maximum number of AccountSummary resources to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)",
              "format": "int32"
            },
            "pageToken": {
              "type": "string",
              "description": "Optional. A page token, received from a previous `ListAccountSummaries` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccountSummaries` must match the call that provided the page token.",
              "location": "query"
            }
          },
          "path": "v1beta/accountSummaries",
          "id": "analyticsadmin.accountSummaries.list",
          "flatPath": "v1beta/accountSummaries",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1betaListAccountSummariesResponse"
          }
        }
      }
    },
    "accounts": {
      "methods": {
        "provisionAccountTicket": {
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ],
          "description": "Requests a ticket for creating an account.",
          "parameterOrder": [],
          "path": "v1beta/accounts:provisionAccountTicket",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1betaProvisionAccountTicketRequest"
          },
          "flatPath": "v1beta/accounts:provisionAccountTicket",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1betaProvisionAccountTicketResponse"
          },
          "id": "analyticsadmin.accounts.provisionAccountTicket",
          "httpMethod": "POST",
          "parameters": {}
        },
        "searchChangeHistoryEvents": {
          "path": "v1beta/{+account}:searchChangeHistoryEvents",
          "parameters": {
            "account": {
              "location": "path",
              "pattern": "^accounts/[^/]+$",
              "type": "string",
              "required": true,
              "description": "Required. The account resource for which to return change history resources. Format: accounts/{account} Example: `accounts/100`"
            }
          },
          "httpMethod": "POST",
          "id": "analyticsadmin.accounts.searchChangeHistoryEvents",
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ],
          "request": {
            "$ref": "GoogleAnalyticsAdminV1betaSearchChangeHistoryEventsRequest"
          },
          "description": "Searches through all changes to an account or its children given the specified set of filters. Only returns the subset of changes supported by the API. The UI may return additional changes.",
          "parameterOrder": [
            "account"
          ],
          "flatPath": "v1beta/accounts/{accountsId}:searchChangeHistoryEvents",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1betaSearchChangeHistoryEventsResponse"
          }
        },
        "delete": {
          "description": "Marks target Account as soft-deleted (ie: \"trashed\") and returns it. This API does not have a method to restore soft-deleted accounts. However, they can be restored using the Trash Can UI. If the accounts are not restored before the expiration time, the account and all child resources (eg: Properties, GoogleAdsLinks, Streams, AccessBindings) will be permanently purged. https://support.google.com/analytics/answer/6154772 Returns an error if the target is not found.",
          "id": "analyticsadmin.accounts.delete",
          "parameters": {
            "name": {
              "type": "string",
              "required": true,
              "location": "path",
              "pattern": "^accounts/[^/]+$",
              "description": "Required. The name of the Account to soft-delete. Format: accounts/{account} Example: \"accounts/100\""
            }
          },
          "httpMethod": "DELETE",
          "parameterOrder": [
            "name"
          ],
          "path": "v1beta/{+name}",
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ],
          "flatPath": "v1beta/accounts/{accountsId}",
          "response": {
            "$ref": "GoogleProtobufEmpty"
          }
        },
        "runAccessReport": {
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ],
          "request": {
            "$ref": "GoogleAnalyticsAdminV1betaRunAccessReportRequest"
          },
          "parameters": {
            "entity": {
              "pattern": "^accounts/[^/]+$",
              "location": "path",
              "type": "string",
              "description": "The Data Access Report supports requesting at the property level or account level. If requested at the account level, Data Access Reports include all access for all properties under that account. To request at the property level, entity should be for example 'properties/123' if \"123\" is your Google Analytics property ID. To request at the account level, entity should be for example 'accounts/1234' if \"1234\" is your Google Analytics Account ID.",
              "required": true
            }
          },
          "path": "v1beta/{+entity}:runAccessReport",
          "httpMethod": "POST",
          "id": "analyticsadmin.accounts.runAccessReport",
          "parameterOrder": [
            "entity"
          ],
          "description": "Returns a customized report of data access records. The report provides records of each time a user reads Google Analytics reporting data. Access records are retained for up to 2 years. Data Access Reports can be requested for a property. Reports may be requested for any property, but dimensions that aren't related to quota can only be requested on Google Analytics 360 properties. This method is only available to Administrators. These data access records include GA UI Reporting, GA UI Explorations, GA Data API, and other products like Firebase & Admob that can retrieve data from Google Analytics through a linkage. These records don't include property configuration changes like adding a stream or changing a property's time zone. For configuration change history, see [searchChangeHistoryEvents](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/accounts/searchChangeHistoryEvents). To give your feedback on this API, complete the [Google Analytics Access Reports feedback](https://docs.google.com/forms/d/e/1FAIpQLSdmEBUrMzAEdiEKk5TV5dEHvDUZDRlgWYdQdAeSdtR4hVjEhw/viewform) form.",
          "flatPath": "v1beta/accounts/{accountsId}:runAccessReport",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1betaRunAccessReportResponse"
          }
        },
        "patch": {
          "httpMethod": "PATCH",
          "parameters": {
            "name": {
              "type": "string",
              "pattern": "^accounts/[^/]+$",
              "required": true,
              "description": "Identifier. Resource name of this account. Format: accounts/{account} Example: \"accounts/100\"",
              "location": "path"
            },
            "updateMask": {
              "type": "string",
              "format": "google-fieldmask",
              "description": "Required. The list of fields to be updated. Field names must be in snake case (for example, \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.",
              "location": "query"
            }
          },
          "flatPath": "v1beta/accounts/{accountsId}",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1betaAccount"
          },
          "description": "Updates an account.",
          "path": "v1beta/{+name}",
          "id": "analyticsadmin.accounts.patch",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1betaAccount"
          },
          "parameterOrder": [
            "name"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ]
        },
        "getDataSharingSettings": {
          "parameterOrder": [
            "name"
          ],
          "description": "Get data sharing settings on an account. Data sharing settings are singletons.",
          "flatPath": "v1beta/accounts/{accountsId}/dataSharingSettings",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1betaDataSharingSettings"
          },
          "path": "v1beta/{+name}",
          "id": "analyticsadmin.accounts.getDataSharingSettings",
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ],
          "httpMethod": "GET",
          "parameters": {
            "name": {
              "required": true,
              "description": "Required. The name of the settings to lookup. Format: accounts/{account}/dataSharingSettings Example: `accounts/1000/dataSharingSettings`",
              "type": "string",
              "location": "path",
              "pattern": "^accounts/[^/]+/dataSharingSettings$"
            }
          }
        },
        "get": {
          "httpMethod": "GET",
          "flatPath": "v1beta/accounts/{accountsId}",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1betaAccount"
          },
          "path": "v1beta/{+name}",
          "parameters": {
            "name": {
              "required": true,
              "pattern": "^accounts/[^/]+$",
              "type": "string",
              "description": "Required. The name of the account to lookup. Format: accounts/{account} Example: \"accounts/100\"",
              "location": "path"
            }
          },
          "id": "analyticsadmin.accounts.get",
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ],
          "description": "Lookup for a single Account.",
          "parameterOrder": [
            "name"
          ]
        },
        "list": {
          "description": "Returns all accounts accessible by the caller. Note that these accounts might not currently have GA properties. Soft-deleted (ie: \"trashed\") accounts are excluded by default. Returns an empty list if no relevant accounts are found. Note: The easiest way to retrieve a list of all properties you have access to is by using `ListAccountSummaries`.",
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ],
          "parameters": {
            "pageToken": {
              "type": "string",
              "location": "query",
              "description": "Optional. A page token, received from a previous `ListAccounts` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccounts` must match the call that provided the page token."
            },
            "showDeleted": {
              "type": "boolean",
              "location": "query",
              "description": "Whether to include soft-deleted (ie: \"trashed\") Accounts in the results. Accounts can be inspected to determine whether they are deleted or not."
            },
            "pageSize": {
              "format": "int32",
              "description": "Optional. The maximum number of resources to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)",
              "location": "query",
              "type": "integer"
            }
          },
          "path": "v1beta/accounts",
          "httpMethod": "GET",
          "flatPath": "v1beta/accounts",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1betaListAccountsResponse"
          },
          "id": "analyticsadmin.accounts.list",
          "parameterOrder": []
        }
      }
    },
    "properties": {
      "resources": {
        "keyEvents": {
          "methods": {
            "create": {
              "parameterOrder": [
                "parent"
              ],
              "request": {
                "$ref": "GoogleAnalyticsAdminV1betaKeyEvent"
              },
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "parameters": {
                "parent": {
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "description": "Required. The resource name of the parent property where this Key Event will be created. Format: properties/123",
                  "pattern": "^properties/[^/]+$"
                }
              },
              "path": "v1beta/{+parent}/keyEvents",
              "description": "Creates a Key Event.",
              "id": "analyticsadmin.properties.keyEvents.create",
              "flatPath": "v1beta/properties/{propertiesId}/keyEvents",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaKeyEvent"
              }
            },
            "patch": {
              "id": "analyticsadmin.properties.keyEvents.patch",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1betaKeyEvent"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "httpMethod": "PATCH",
              "parameters": {
                "updateMask": {
                  "location": "query",
                  "format": "google-fieldmask",
                  "type": "string",
                  "description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields."
                },
                "name": {
                  "required": true,
                  "description": "Output only. Resource name of this key event. Format: properties/{property}/keyEvents/{key_event}",
                  "location": "path",
                  "type": "string",
                  "pattern": "^properties/[^/]+/keyEvents/[^/]+$"
                }
              },
              "flatPath": "v1beta/properties/{propertiesId}/keyEvents/{keyEventsId}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaKeyEvent"
              },
              "path": "v1beta/{+name}",
              "parameterOrder": [
                "name"
              ],
              "description": "Updates a Key Event."
            },
            "list": {
              "path": "v1beta/{+parent}/keyEvents",
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "id": "analyticsadmin.properties.keyEvents.list",
              "description": "Returns a list of Key Events in the specified parent property. Returns an empty list if no Key Events are found.",
              "flatPath": "v1beta/properties/{propertiesId}/keyEvents",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaListKeyEventsResponse"
              },
              "httpMethod": "GET",
              "parameters": {
                "pageSize": {
                  "format": "int32",
                  "location": "query",
                  "type": "integer",
                  "description": "Optional. The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)"
                },
                "parent": {
                  "description": "Required. The resource name of the parent property. Example: 'properties/123'",
                  "location": "path",
                  "type": "string",
                  "pattern": "^properties/[^/]+$",
                  "required": true
                },
                "pageToken": {
                  "location": "query",
                  "description": "Optional. A page token, received from a previous `ListKeyEvents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListKeyEvents` must match the call that provided the page token.",
                  "type": "string"
                }
              },
              "parameterOrder": [
                "parent"
              ]
            },
            "delete": {
              "parameterOrder": [
                "name"
              ],
              "description": "Deletes a Key Event.",
              "parameters": {
                "name": {
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "pattern": "^properties/[^/]+/keyEvents/[^/]+$",
                  "description": "Required. The resource name of the Key Event to delete. Format: properties/{property}/keyEvents/{key_event} Example: \"properties/123/keyEvents/456\""
                }
              },
              "flatPath": "v1beta/properties/{propertiesId}/keyEvents/{keyEventsId}",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "httpMethod": "DELETE",
              "path": "v1beta/{+name}",
              "id": "analyticsadmin.properties.keyEvents.delete"
            },
            "get": {
              "id": "analyticsadmin.properties.keyEvents.get",
              "parameterOrder": [
                "name"
              ],
              "httpMethod": "GET",
              "description": "Retrieve a single Key Event.",
              "parameters": {
                "name": {
                  "location": "path",
                  "description": "Required. The resource name of the Key Event to retrieve. Format: properties/{property}/keyEvents/{key_event} Example: \"properties/123/keyEvents/456\"",
                  "required": true,
                  "type": "string",
                  "pattern": "^properties/[^/]+/keyEvents/[^/]+$"
                }
              },
              "flatPath": "v1beta/properties/{propertiesId}/keyEvents/{keyEventsId}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaKeyEvent"
              },
              "path": "v1beta/{+name}",
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            }
          }
        },
        "conversionEvents": {
          "methods": {
            "list": {
              "deprecated": true,
              "id": "analyticsadmin.properties.conversionEvents.list",
              "parameterOrder": [
                "parent"
              ],
              "httpMethod": "GET",
              "path": "v1beta/{+parent}/conversionEvents",
              "parameters": {
                "parent": {
                  "location": "path",
                  "description": "Required. The resource name of the parent property. Example: 'properties/123'",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "pageSize": {
                  "type": "integer",
                  "location": "query",
                  "format": "int32",
                  "description": "Optional. The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)"
                },
                "pageToken": {
                  "location": "query",
                  "description": "Optional. A page token, received from a previous `ListConversionEvents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListConversionEvents` must match the call that provided the page token.",
                  "type": "string"
                }
              },
              "flatPath": "v1beta/properties/{propertiesId}/conversionEvents",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaListConversionEventsResponse"
              },
              "description": "Deprecated: Use `ListKeyEvents` instead. Returns a list of conversion events in the specified parent property. Returns an empty list if no conversion events are found.",
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "delete": {
              "flatPath": "v1beta/properties/{propertiesId}/conversionEvents/{conversionEventsId}",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "httpMethod": "DELETE",
              "parameters": {
                "name": {
                  "type": "string",
                  "required": true,
                  "pattern": "^properties/[^/]+/conversionEvents/[^/]+$",
                  "location": "path",
                  "description": "Required. The resource name of the conversion event to delete. Format: properties/{property}/conversionEvents/{conversion_event} Example: \"properties/123/conversionEvents/456\""
                }
              },
              "id": "analyticsadmin.properties.conversionEvents.delete",
              "description": "Deprecated: Use `DeleteKeyEvent` instead. Deletes a conversion event in a property.",
              "deprecated": true,
              "parameterOrder": [
                "name"
              ],
              "path": "v1beta/{+name}"
            },
            "get": {
              "parameterOrder": [
                "name"
              ],
              "flatPath": "v1beta/properties/{propertiesId}/conversionEvents/{conversionEventsId}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaConversionEvent"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "description": "Deprecated: Use `GetKeyEvent` instead. Retrieve a single conversion event.",
              "httpMethod": "GET",
              "path": "v1beta/{+name}",
              "parameters": {
                "name": {
                  "pattern": "^properties/[^/]+/conversionEvents/[^/]+$",
                  "location": "path",
                  "type": "string",
                  "required": true,
                  "description": "Required. The resource name of the conversion event to retrieve. Format: properties/{property}/conversionEvents/{conversion_event} Example: \"properties/123/conversionEvents/456\""
                }
              },
              "deprecated": true,
              "id": "analyticsadmin.properties.conversionEvents.get"
            },
            "patch": {
              "flatPath": "v1beta/properties/{propertiesId}/conversionEvents/{conversionEventsId}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaConversionEvent"
              },
              "id": "analyticsadmin.properties.conversionEvents.patch",
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "parameterOrder": [
                "name"
              ],
              "path": "v1beta/{+name}",
              "deprecated": true,
              "request": {
                "$ref": "GoogleAnalyticsAdminV1betaConversionEvent"
              },
              "description": "Deprecated: Use `UpdateKeyEvent` instead. Updates a conversion event with the specified attributes.",
              "parameters": {
                "name": {
                  "location": "path",
                  "description": "Identifier. Resource name of this conversion event. Format: properties/{property}/conversionEvents/{conversion_event}",
                  "pattern": "^properties/[^/]+/conversionEvents/[^/]+$",
                  "type": "string",
                  "required": true
                },
                "updateMask": {
                  "format": "google-fieldmask",
                  "type": "string",
                  "description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.",
                  "location": "query"
                }
              },
              "httpMethod": "PATCH"
            },
            "create": {
              "parameterOrder": [
                "parent"
              ],
              "id": "analyticsadmin.properties.conversionEvents.create",
              "deprecated": true,
              "description": "Deprecated: Use `CreateKeyEvent` instead. Creates a conversion event with the specified attributes.",
              "path": "v1beta/{+parent}/conversionEvents",
              "parameters": {
                "parent": {
                  "required": true,
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "description": "Required. The resource name of the parent property where this conversion event will be created. Format: properties/123",
                  "type": "string"
                }
              },
              "httpMethod": "POST",
              "flatPath": "v1beta/properties/{propertiesId}/conversionEvents",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaConversionEvent"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "request": {
                "$ref": "GoogleAnalyticsAdminV1betaConversionEvent"
              }
            }
          },
          "deprecated": true
        },
        "customMetrics": {
          "methods": {
            "create": {
              "httpMethod": "POST",
              "parameters": {
                "parent": {
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "description": "Required. Example format: properties/1234",
                  "type": "string"
                }
              },
              "flatPath": "v1beta/properties/{propertiesId}/customMetrics",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaCustomMetric"
              },
              "id": "analyticsadmin.properties.customMetrics.create",
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "parameterOrder": [
                "parent"
              ],
              "description": "Creates a CustomMetric.",
              "path": "v1beta/{+parent}/customMetrics",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1betaCustomMetric"
              }
            },
            "archive": {
              "flatPath": "v1beta/properties/{propertiesId}/customMetrics/{customMetricsId}:archive",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "id": "analyticsadmin.properties.customMetrics.archive",
              "httpMethod": "POST",
              "parameters": {
                "name": {
                  "location": "path",
                  "pattern": "^properties/[^/]+/customMetrics/[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The name of the CustomMetric to archive. Example format: properties/1234/customMetrics/5678"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "path": "v1beta/{+name}:archive",
              "description": "Archives a CustomMetric on a property.",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1betaArchiveCustomMetricRequest"
              },
              "parameterOrder": [
                "name"
              ]
            },
            "patch": {
              "description": "Updates a CustomMetric on a property.",
              "id": "analyticsadmin.properties.customMetrics.patch",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1betaCustomMetric"
              },
              "parameterOrder": [
                "name"
              ],
              "path": "v1beta/{+name}",
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "flatPath": "v1beta/properties/{propertiesId}/customMetrics/{customMetricsId}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaCustomMetric"
              },
              "httpMethod": "PATCH",
              "parameters": {
                "name": {
                  "description": "Identifier. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}",
                  "type": "string",
                  "location": "path",
                  "required": true,
                  "pattern": "^properties/[^/]+/customMetrics/[^/]+$"
                },
                "updateMask": {
                  "type": "string",
                  "format": "google-fieldmask",
                  "location": "query",
                  "description": "Required. The list of fields to be updated. Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields."
                }
              }
            },
            "list": {
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "description": "Lists CustomMetrics on a property.",
              "flatPath": "v1beta/properties/{propertiesId}/customMetrics",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaListCustomMetricsResponse"
              },
              "id": "analyticsadmin.properties.customMetrics.list",
              "path": "v1beta/{+parent}/customMetrics",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).",
                  "format": "int32"
                },
                "pageToken": {
                  "description": "A page token, received from a previous `ListCustomMetrics` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCustomMetrics` must match the call that provided the page token.",
                  "type": "string",
                  "location": "query"
                },
                "parent": {
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "type": "string",
                  "required": true,
                  "pattern": "^properties/[^/]+$"
                }
              },
              "httpMethod": "GET"
            },
            "get": {
              "parameterOrder": [
                "name"
              ],
              "id": "analyticsadmin.properties.customMetrics.get",
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "pattern": "^properties/[^/]+/customMetrics/[^/]+$",
                  "type": "string",
                  "location": "path",
                  "required": true,
                  "description": "Required. The name of the CustomMetric to get. Example format: properties/1234/customMetrics/5678"
                }
              },
              "path": "v1beta/{+name}",
              "description": "Lookup for a single CustomMetric.",
              "flatPath": "v1beta/properties/{propertiesId}/customMetrics/{customMetricsId}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaCustomMetric"
              }
            }
          }
        },
        "googleAdsLinks": {
          "methods": {
            "list": {
              "id": "analyticsadmin.properties.googleAdsLinks.list",
              "path": "v1beta/{+parent}/googleAdsLinks",
              "parameters": {
                "parent": {
                  "type": "string",
                  "pattern": "^properties/[^/]+$",
                  "location": "path",
                  "description": "Required. Example format: properties/1234",
                  "required": true
                },
                "pageToken": {
                  "type": "string",
                  "location": "query",
                  "description": "Optional. A page token, received from a previous `ListGoogleAdsLinks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListGoogleAdsLinks` must match the call that provided the page token."
                },
                "pageSize": {
                  "location": "query",
                  "format": "int32",
                  "type": "integer",
                  "description": "Optional. The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum)."
                }
              },
              "parameterOrder": [
                "parent"
              ],
              "description": "Lists GoogleAdsLinks on a property.",
              "httpMethod": "GET",
              "flatPath": "v1beta/properties/{propertiesId}/googleAdsLinks",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaListGoogleAdsLinksResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "patch": {
              "flatPath": "v1beta/properties/{propertiesId}/googleAdsLinks/{googleAdsLinksId}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaGoogleAdsLink"
              },
              "parameterOrder": [
                "name"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "httpMethod": "PATCH",
              "parameters": {
                "updateMask": {
                  "location": "query",
                  "format": "google-fieldmask",
                  "type": "string",
                  "description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields."
                },
                "name": {
                  "type": "string",
                  "pattern": "^properties/[^/]+/googleAdsLinks/[^/]+$",
                  "location": "path",
                  "description": "Identifier. Format: properties/{propertyId}/googleAdsLinks/{googleAdsLinkId} Note: googleAdsLinkId is not the Google Ads customer ID.",
                  "required": true
                }
              },
              "path": "v1beta/{+name}",
              "id": "analyticsadmin.properties.googleAdsLinks.patch",
              "description": "Updates a GoogleAdsLink on a property",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1betaGoogleAdsLink"
              }
            },
            "delete": {
              "parameters": {
                "name": {
                  "type": "string",
                  "required": true,
                  "description": "Required. Example format: properties/1234/googleAdsLinks/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/googleAdsLinks/[^/]+$"
                }
              },
              "httpMethod": "DELETE",
              "description": "Deletes a GoogleAdsLink on a property",
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "parameterOrder": [
                "name"
              ],
              "id": "analyticsadmin.properties.googleAdsLinks.delete",
              "flatPath": "v1beta/properties/{propertiesId}/googleAdsLinks/{googleAdsLinksId}",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "path": "v1beta/{+name}"
            },
            "create": {
              "flatPath": "v1beta/properties/{propertiesId}/googleAdsLinks",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaGoogleAdsLink"
              },
              "parameterOrder": [
                "parent"
              ],
              "id": "analyticsadmin.properties.googleAdsLinks.create",
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "path": "v1beta/{+parent}/googleAdsLinks",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1betaGoogleAdsLink"
              },
              "httpMethod": "POST",
              "parameters": {
                "parent": {
                  "location": "path",
                  "required": true,
                  "pattern": "^properties/[^/]+$",
                  "description": "Required. Example format: properties/1234",
                  "type": "string"
                }
              },
              "description": "Creates a GoogleAdsLink."
            }
          }
        },
        "customDimensions": {
          "methods": {
            "list": {
              "id": "analyticsadmin.properties.customDimensions.list",
              "httpMethod": "GET",
              "flatPath": "v1beta/properties/{propertiesId}/customDimensions",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaListCustomDimensionsResponse"
              },
              "parameters": {
                "parent": {
                  "required": true,
                  "location": "path",
                  "description": "Required. Example format: properties/1234",
                  "type": "string",
                  "pattern": "^properties/[^/]+$"
                },
                "pageSize": {
                  "format": "int32",
                  "type": "integer",
                  "location": "query",
                  "description": "Optional. The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum)."
                },
                "pageToken": {
                  "type": "string",
                  "description": "Optional. A page token, received from a previous `ListCustomDimensions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCustomDimensions` must match the call that provided the page token.",
                  "location": "query"
                }
              },
              "description": "Lists CustomDimensions on a property.",
              "path": "v1beta/{+parent}/customDimensions",
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "parameterOrder": [
                "parent"
              ]
            },
            "archive": {
              "id": "analyticsadmin.properties.customDimensions.archive",
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "description": "Archives a CustomDimension on a property.",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1betaArchiveCustomDimensionRequest"
              },
              "parameterOrder": [
                "name"
              ],
              "path": "v1beta/{+name}:archive",
              "parameters": {
                "name": {
                  "pattern": "^properties/[^/]+/customDimensions/[^/]+$",
                  "location": "path",
                  "required": true,
                  "description": "Required. The name of the CustomDimension to archive. Example format: properties/1234/customDimensions/5678",
                  "type": "string"
                }
              },
              "flatPath": "v1beta/properties/{propertiesId}/customDimensions/{customDimensionsId}:archive",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "httpMethod": "POST"
            },
            "get": {
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "path": "v1beta/{+name}",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "type": "string",
                  "description": "Required. The name of the CustomDimension to get. Example format: properties/1234/customDimensions/5678",
                  "required": true,
                  "pattern": "^properties/[^/]+/customDimensions/[^/]+$",
                  "location": "path"
                }
              },
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.customDimensions.get",
              "flatPath": "v1beta/properties/{propertiesId}/customDimensions/{customDimensionsId}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaCustomDimension"
              },
              "description": "Lookup for a single CustomDimension."
            },
            "patch": {
              "id": "analyticsadmin.properties.customDimensions.patch",
              "description": "Updates a CustomDimension on a property.",
              "path": "v1beta/{+name}",
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "parameterOrder": [
                "name"
              ],
              "httpMethod": "PATCH",
              "parameters": {
                "name": {
                  "location": "path",
                  "description": "Identifier. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}",
                  "required": true,
                  "pattern": "^properties/[^/]+/customDimensions/[^/]+$",
                  "type": "string"
                },
                "updateMask": {
                  "location": "query",
                  "description": "Required. The list of fields to be updated. Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.",
                  "type": "string",
                  "format": "google-fieldmask"
                }
              },
              "flatPath": "v1beta/properties/{propertiesId}/customDimensions/{customDimensionsId}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaCustomDimension"
              },
              "request": {
                "$ref": "GoogleAnalyticsAdminV1betaCustomDimension"
              }
            },
            "create": {
              "flatPath": "v1beta/properties/{propertiesId}/customDimensions",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaCustomDimension"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "parameters": {
                "parent": {
                  "location": "path",
                  "description": "Required. Example format: properties/1234",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "httpMethod": "POST",
              "path": "v1beta/{+parent}/customDimensions",
              "id": "analyticsadmin.properties.customDimensions.create",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1betaCustomDimension"
              },
              "description": "Creates a CustomDimension. Warning: It's not permissible to use this method to collect data on individual users. In particular, sending user IDs in custom dimensions violates the [Google Analytics Terms of Service](https://www.google.com/analytics/terms/).",
              "parameterOrder": [
                "parent"
              ]
            }
          }
        },
        "firebaseLinks": {
          "methods": {
            "create": {
              "parameterOrder": [
                "parent"
              ],
              "id": "analyticsadmin.properties.firebaseLinks.create",
              "parameters": {
                "parent": {
                  "pattern": "^properties/[^/]+$",
                  "description": "Required. Format: properties/{property_id} Example: `properties/1234`",
                  "location": "path",
                  "type": "string",
                  "required": true
                }
              },
              "description": "Creates a FirebaseLink. Properties can have at most one FirebaseLink.",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "flatPath": "v1beta/properties/{propertiesId}/firebaseLinks",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaFirebaseLink"
              },
              "request": {
                "$ref": "GoogleAnalyticsAdminV1betaFirebaseLink"
              },
              "path": "v1beta/{+parent}/firebaseLinks"
            },
            "list": {
              "description": "Lists FirebaseLinks on a property. Properties can have at most one FirebaseLink.",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageToken": {
                  "description": "Optional. A page token, received from a previous `ListFirebaseLinks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFirebaseLinks` must match the call that provided the page token.",
                  "type": "string",
                  "location": "query"
                },
                "parent": {
                  "type": "string",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "description": "Required. Format: properties/{property_id} Example: `properties/1234`",
                  "location": "path"
                },
                "pageSize": {
                  "format": "int32",
                  "description": "Optional. The maximum number of resources to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)",
                  "type": "integer",
                  "location": "query"
                }
              },
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.firebaseLinks.list",
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "flatPath": "v1beta/properties/{propertiesId}/firebaseLinks",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaListFirebaseLinksResponse"
              },
              "path": "v1beta/{+parent}/firebaseLinks"
            },
            "delete": {
              "parameters": {
                "name": {
                  "description": "Required. Format: properties/{property_id}/firebaseLinks/{firebase_link_id} Example: `properties/1234/firebaseLinks/5678`",
                  "required": true,
                  "pattern": "^properties/[^/]+/firebaseLinks/[^/]+$",
                  "type": "string",
                  "location": "path"
                }
              },
              "httpMethod": "DELETE",
              "parameterOrder": [
                "name"
              ],
              "path": "v1beta/{+name}",
              "description": "Deletes a FirebaseLink on a property",
              "id": "analyticsadmin.properties.firebaseLinks.delete",
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "flatPath": "v1beta/properties/{propertiesId}/firebaseLinks/{firebaseLinksId}",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              }
            }
          }
        },
        "dataStreams": {
          "methods": {
            "get": {
              "description": "Lookup for a single DataStream.",
              "id": "analyticsadmin.properties.dataStreams.get",
              "path": "v1beta/{+name}",
              "flatPath": "v1beta/properties/{propertiesId}/dataStreams/{dataStreamsId}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaDataStream"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "type": "string",
                  "required": true,
                  "description": "Required. The name of the DataStream to get. Example format: properties/1234/dataStreams/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/dataStreams/[^/]+$"
                }
              },
              "parameterOrder": [
                "name"
              ]
            },
            "create": {
              "parameters": {
                "parent": {
                  "type": "string",
                  "required": true,
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$"
                }
              },
              "parameterOrder": [
                "parent"
              ],
              "httpMethod": "POST",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1betaDataStream"
              },
              "id": "analyticsadmin.properties.dataStreams.create",
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "path": "v1beta/{+parent}/dataStreams",
              "description": "Creates a DataStream.",
              "flatPath": "v1beta/properties/{propertiesId}/dataStreams",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaDataStream"
              }
            },
            "patch": {
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "description": "Updates a DataStream on a property.",
              "path": "v1beta/{+name}",
              "id": "analyticsadmin.properties.dataStreams.patch",
              "flatPath": "v1beta/properties/{propertiesId}/dataStreams/{dataStreamsId}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaDataStream"
              },
              "request": {
                "$ref": "GoogleAnalyticsAdminV1betaDataStream"
              },
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "required": true,
                  "description": "Identifier. Resource name of this Data Stream. Format: properties/{property_id}/dataStreams/{stream_id} Example: \"properties/1000/dataStreams/2000\"",
                  "type": "string",
                  "location": "path",
                  "pattern": "^properties/[^/]+/dataStreams/[^/]+$"
                },
                "updateMask": {
                  "location": "query",
                  "description": "Required. The list of fields to be updated. Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.",
                  "format": "google-fieldmask",
                  "type": "string"
                }
              },
              "httpMethod": "PATCH"
            },
            "list": {
              "path": "v1beta/{+parent}/dataStreams",
              "flatPath": "v1beta/properties/{propertiesId}/dataStreams",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1betaListDataStreamsResponse"
              },
              "id": "analyticsadmin.properties.dataStreams.list",
              "parameterOrder": [
                "parent"
              ],
              "description": "Lists DataStreams on a property.",
              "parameters": {
                "parent": {
                  "required": true,
                  "pattern": "^properties/[^/]+$",
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "type": "string"
                },
                "pageToken": {
                  "location": "query",
                  "description": "A page token, received from a previous `ListDataStreams` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDataStreams` must match the call that provided the page token.",
                  "type": "string"
                },
                "pageSize": {
                  "description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).",
                  "type": "integer",
                  "format": "int32",
                  "location": "query"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "httpMethod": "GET"
            },
            "delete": {
              "parameterOrder": [
                "name"
              ],
              "flatPath": "v1beta/properties/{propertiesId}/dataStreams/{dataStreamsId}",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "path": "v1beta/{+name}",
              "id": "analyticsadmin.properties.dataStreams.delete",
              "description": "Deletes a DataStream on a property.",
              "parameters": {
                "name": {
                  "required": true,
                  "location": "path",
                  "type": "string",
                  "pattern": "^properties/[^/]+/dataStreams/[^/]+$",
                  "description": "Required. The name of the DataStream to delete. Example format: properties/1234/dataStreams/5678"
                }
              },
              "httpMethod": "DELETE"
            }
          },
          "resources": {
            "measurementProtocolSecrets": {
              "methods": {
                "list": {
                  "id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.list",
                  "flatPath": "v1beta/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets",
                  "response": {
                    "$ref": "GoogleAnalyticsAdminV1betaListMeasurementProtocolSecretsResponse"
                  },
                  "parameters": {
                    "pageToken": {
                      "location": "query",
                      "description": "Optional. A page token, received from a previous `ListMeasurementProtocolSecrets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMeasurementProtocolSecrets` must match the call that provided the page token.",
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "Optional. The maximum number of resources to return. If unspecified, at most 10 resources will be returned. The maximum value is 10. Higher values will be coerced to the maximum.",
                      "type": "integer",
                      "format": "int32",
                      "location": "query"
                    },
                    "parent": {
                      "type": "string",
                      "location": "path",
                      "description": "Required. The resource name of the parent stream. Format: properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets",
                      "pattern": "^properties/[^/]+/dataStreams/[^/]+$",
                      "required": true
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/analytics.edit",
                    "https://www.googleapis.com/auth/analytics.readonly"
                  ],
                  "description": "Returns child MeasurementProtocolSecrets under the specified parent Property.",
                  "path": "v1beta/{+parent}/measurementProtocolSecrets"
                },
                "delete": {
                  "scopes": [
                    "https://www.googleapis.com/auth/analytics.edit"
                  ],
                  "id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.delete",
                  "flatPath": "v1beta/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}",
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "description": "Deletes target MeasurementProtocolSecret.",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1beta/{+name}",
                  "httpMethod": "DELETE",
                  "parameters": {
                    "name": {
                      "pattern": "^properties/[^/]+/dataStreams/[^/]+/measurementProtocolSecrets/[^/]+$",
                      "required": true,
                      "type": "string",
                      "description": "Required. The name of the MeasurementProtocolSecret to delete. Format: properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}",
                      "location": "path"
                    }
                  }
                },
                "get": {
                  "parameters": {
                    "name": {
                      "required": true,
                      "description": "Required. The name of the measurement protocol secret to lookup. Format: properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}",
                      "pattern": "^properties/[^/]+/dataStreams/[^/]+/measurementProtocolSecrets/[^/]+$",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.get",
                  "httpMethod": "GET",
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Lookup for a single MeasurementProtocolSecret.",
                  "scopes": [
                    "https://www.googleapis.com/auth/analytics.edit",
                    "https://www.googleapis.com/auth/analytics.readonly"
                  ],
                  "flatPath": "v1beta/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}",
                  "response": {
                    "$ref": "GoogleAnalyticsAdminV1betaMeasurementProtocolSecret"
                  },
                  "path": "v1beta/{+name}"
                },
                "create": {
                  "scopes": [
                    "https://www.googleapis.com/auth/analytics.edit"
                  ],
                  "description": "Creates a measurement protocol secret.",
                  "flatPath": "v1beta/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets",
                  "response": {
                    "$ref": "GoogleAnalyticsAdminV1betaMeasurementProtocolSecret"
                  },
                  "request": {
                    "$ref": "GoogleAnalyticsAdminV1betaMeasurementProtocolSecret"
                  },
                  "httpMethod": "POST",
                  "path": "v1beta/{+parent}/measurementProtocolSecrets",
                  "parameters": {
                    "parent": {
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^properties/[^/]+/dataStreams/[^/]+$",
                      "description": "Required. The parent resource where this secret will be created. Format: properties/{property}/dataStreams/{dataStream}"
                    }
                  },
                  "id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.create",
                  "parameterOrder": [
                    "parent"
                  ]
                },
                "patch": {
                  "scopes": [
                    "https://www.googleapis.com/auth/analytics.edit"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleAnalyticsAdminV1betaMeasurementProtocolSecret"
                  },
                  "flatPath": "v1beta/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}",
                  "response": {
                    "$ref": "GoogleAnalyticsAdminV1betaMeasurementProtocolSecret"
                  },
                  "description": "Updates a measurement protocol secret.",
                  "httpMethod": "PATCH",
                  "parameters": {
                    "updateMask": {
                      "description": "Required. The list of fields to be updated. Omitted fields will not be updated.",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    },
                    "name": {
                      "type": "string",
                      "location": "path",
                      "description": "Identifier. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}",
                      "required": true,
                      "pattern": "^properties/[^/]+/dataStreams/[^/]+/measurementProtocolSecrets/[^/]+$"
                    }
                  },
                  "id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.patch",
                  "path": "v1beta/{+name}"
                }
              }
            }
          }
        }
      },
      "methods": {
        "getDataRetentionSettings": {
          "flatPath": "v1beta/properties/{propertiesId}/dataRetentionSettings",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1betaDataRetentionSettings"
          },
          "path": "v1beta/{+name}",
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ],
          "description": "Returns the singleton data retention settings for this property.",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "pattern": "^properties/[^/]+/dataRetentionSettings$",
              "description": "Required. The name of the settings to lookup. Format: properties/{property}/dataRetentionSettings Example: \"properties/1000/dataRetentionSettings\"",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "httpMethod": "GET",
          "id": "analyticsadmin.properties.getDataRetentionSettings"
        },
        "acknowledgeUserDataCollection": {
          "path": "v1beta/{+property}:acknowledgeUserDataCollection",
          "id": "analyticsadmin.properties.acknowledgeUserDataCollection",
          "parameters": {
            "property": {
              "description": "Required. The property for which to acknowledge user data collection.",
              "type": "string",
              "pattern": "^properties/[^/]+$",
              "required": true,
              "location": "path"
            }
          },
          "httpMethod": "POST",
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ],
          "parameterOrder": [
            "property"
          ],
          "description": "Acknowledges the terms of user data collection for the specified property. This acknowledgement must be completed (either in the Google Analytics UI or through this API) before MeasurementProtocolSecret resources may be created.",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1betaAcknowledgeUserDataCollectionRequest"
          },
          "flatPath": "v1beta/properties/{propertiesId}:acknowledgeUserDataCollection",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1betaAcknowledgeUserDataCollectionResponse"
          }
        },
        "get": {
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ],
          "parameterOrder": [
            "name"
          ],
          "path": "v1beta/{+name}",
          "description": "Lookup for a single GA Property.",
          "id": "analyticsadmin.properties.get",
          "flatPath": "v1beta/properties/{propertiesId}",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1betaProperty"
          },
          "parameters": {
            "name": {
              "pattern": "^properties/[^/]+$",
              "type": "string",
              "required": true,
              "description": "Required. The name of the property to lookup. Format: properties/{property_id} Example: \"properties/1000\"",
              "location": "path"
            }
          },
          "httpMethod": "GET"
        },
        "runAccessReport": {
          "httpMethod": "POST",
          "parameters": {
            "entity": {
              "pattern": "^properties/[^/]+$",
              "type": "string",
              "location": "path",
              "required": true,
              "description": "The Data Access Report supports requesting at the property level or account level. If requested at the account level, Data Access Reports include all access for all properties under that account. To request at the property level, entity should be for example 'properties/123' if \"123\" is your Google Analytics property ID. To request at the account level, entity should be for example 'accounts/1234' if \"1234\" is your Google Analytics Account ID."
            }
          },
          "request": {
            "$ref": "GoogleAnalyticsAdminV1betaRunAccessReportRequest"
          },
          "parameterOrder": [
            "entity"
          ],
          "path": "v1beta/{+entity}:runAccessReport",
          "description": "Returns a customized report of data access records. The report provides records of each time a user reads Google Analytics reporting data. Access records are retained for up to 2 years. Data Access Reports can be requested for a property. Reports may be requested for any property, but dimensions that aren't related to quota can only be requested on Google Analytics 360 properties. This method is only available to Administrators. These data access records include GA UI Reporting, GA UI Explorations, GA Data API, and other products like Firebase & Admob that can retrieve data from Google Analytics through a linkage. These records don't include property configuration changes like adding a stream or changing a property's time zone. For configuration change history, see [searchChangeHistoryEvents](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/accounts/searchChangeHistoryEvents). To give your feedback on this API, complete the [Google Analytics Access Reports feedback](https://docs.google.com/forms/d/e/1FAIpQLSdmEBUrMzAEdiEKk5TV5dEHvDUZDRlgWYdQdAeSdtR4hVjEhw/viewform) form.",
          "id": "analyticsadmin.properties.runAccessReport",
          "flatPath": "v1beta/properties/{propertiesId}:runAccessReport",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1betaRunAccessReportResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ]
        },
        "delete": {
          "description": "Marks target Property as soft-deleted (ie: \"trashed\") and returns it. This API does not have a method to restore soft-deleted properties. However, they can be restored using the Trash Can UI. If the properties are not restored before the expiration time, the Property and all child resources (eg: GoogleAdsLinks, Streams, AccessBindings) will be permanently purged. https://support.google.com/analytics/answer/6154772 Returns an error if the target is not found.",
          "path": "v1beta/{+name}",
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ],
          "id": "analyticsadmin.properties.delete",
          "parameterOrder": [
            "name"
          ],
          "flatPath": "v1beta/properties/{propertiesId}",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1betaProperty"
          },
          "httpMethod": "DELETE",
          "parameters": {
            "name": {
              "location": "path",
              "type": "string",
              "description": "Required. The name of the Property to soft-delete. Format: properties/{property_id} Example: \"properties/1000\"",
              "required": true,
              "pattern": "^properties/[^/]+$"
            }
          }
        },
        "list": {
          "flatPath": "v1beta/properties",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1betaListPropertiesResponse"
          },
          "path": "v1beta/properties",
          "parameterOrder": [],
          "description": "Returns child Properties under the specified parent Account. Properties will be excluded if the caller does not have access. Soft-deleted (ie: \"trashed\") properties are excluded by default. Returns an empty list if no relevant properties are found.",
          "id": "analyticsadmin.properties.list",
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ],
          "httpMethod": "GET",
          "parameters": {
            "filter": {
              "type": "string",
              "description": "Required. An expression for filtering the results of the request. Fields eligible for filtering are: `parent:`(The resource name of the parent account/property) or `ancestor:`(The resource name of the parent account) or `firebase_project:`(The id or number of the linked firebase project). Some examples of filters: ``` | Filter | Description | |-----------------------------|-------------------------------------------| | parent:accounts/123 | The account with account id: 123. | | parent:properties/123 | The property with property id: 123. | | ancestor:accounts/123 | The account with account id: 123. | | firebase_project:project-id | The firebase project with id: project-id. | | firebase_project:123 | The firebase project with number: 123. | ```",
              "location": "query"
            },
            "showDeleted": {
              "type": "boolean",
              "location": "query",
              "description": "Whether to include soft-deleted (ie: \"trashed\") Properties in the results. Properties can be inspected to determine whether they are deleted or not."
            },
            "pageSize": {
              "description": "Optional. The maximum number of resources to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)",
              "type": "integer",
              "format": "int32",
              "location": "query"
            },
            "pageToken": {
              "type": "string",
              "description": "Optional. A page token, received from a previous `ListProperties` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListProperties` must match the call that provided the page token.",
              "location": "query"
            }
          }
        },
        "updateDataRetentionSettings": {
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "required": true,
              "pattern": "^properties/[^/]+/dataRetentionSettings$",
              "type": "string",
              "description": "Identifier. Resource name for this DataRetentionSetting resource. Format: properties/{property}/dataRetentionSettings",
              "location": "path"
            },
            "updateMask": {
              "description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.",
              "format": "google-fieldmask",
              "location": "query",
              "type": "string"
            }
          },
          "description": "Updates the singleton data retention settings for this property.",
          "httpMethod": "PATCH",
          "path": "v1beta/{+name}",
          "flatPath": "v1beta/properties/{propertiesId}/dataRetentionSettings",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1betaDataRetentionSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ],
          "request": {
            "$ref": "GoogleAnalyticsAdminV1betaDataRetentionSettings"
          },
          "id": "analyticsadmin.properties.updateDataRetentionSettings"
        },
        "patch": {
          "parameterOrder": [
            "name"
          ],
          "request": {
            "$ref": "GoogleAnalyticsAdminV1betaProperty"
          },
          "path": "v1beta/{+name}",
          "parameters": {
            "name": {
              "pattern": "^properties/[^/]+$",
              "location": "path",
              "description": "Identifier. Resource name of this property. Format: properties/{property_id} Example: \"properties/1000\"",
              "type": "string",
              "required": true
            },
            "updateMask": {
              "location": "query",
              "description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.",
              "type": "string",
              "format": "google-fieldmask"
            }
          },
          "httpMethod": "PATCH",
          "id": "analyticsadmin.properties.patch",
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ],
          "description": "Updates a property.",
          "flatPath": "v1beta/properties/{propertiesId}",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1betaProperty"
          }
        },
        "create": {
          "httpMethod": "POST",
          "path": "v1beta/properties",
          "parameters": {},
          "id": "analyticsadmin.properties.create",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1betaProperty"
          },
          "flatPath": "v1beta/properties",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1betaProperty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ],
          "parameterOrder": [],
          "description": "Creates a Google Analytics property with the specified location and attributes."
        }
      }
    }
  },
  "version": "v1beta",
  "discoveryVersion": "v1",
  "name": "analyticsadmin",
  "ownerName": "Google",
  "id": "analyticsadmin:v1beta",
  "parameters": {
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "location": "query",
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "access_token": {
      "description": "OAuth access token.",
      "type": "string",
      "location": "query"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "type": "string",
      "location": "query"
    },
    "uploadType": {
      "location": "query",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string"
    },
    "key": {
      "location": "query",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "type": "string",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "location": "query",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ]
    },
    "fields": {
      "location": "query",
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response."
    },
    "quotaUser": {
      "type": "string",
      "location": "query",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters."
    },
    "$.xgafv": {
      "location": "query",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "description": "V1 error format.",
      "type": "string"
    }
  },
  "baseUrl": "https://analyticsadmin.googleapis.com/",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "ownerDomain": "google.com"
}
