{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/analytics.edit": {
          "description": "Edit Google Analytics management entities"
        },
        "https://www.googleapis.com/auth/analytics.manage.users": {
          "description": "Manage Google Analytics Account users by email address"
        },
        "https://www.googleapis.com/auth/analytics.manage.users.readonly": {
          "description": "View Google Analytics user permissions"
        },
        "https://www.googleapis.com/auth/analytics.readonly": {
          "description": "See and download your Google Analytics data"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://analyticsadmin.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "Google Analytics Admin",
  "description": "",
  "discoveryVersion": "v1",
  "documentationLink": "http://code.google.com/apis/analytics/docs/mgmt/home.html",
  "fullyEncodeReservedExpansion": true,
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "analyticsadmin:v1alpha",
  "kind": "discovery#restDescription",
  "mtlsRootUrl": "https://analyticsadmin.mtls.googleapis.com/",
  "name": "analyticsadmin",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "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.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "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.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "accountSummaries": {
      "methods": {
        "list": {
          "description": "Returns summaries of all accounts accessible by the caller.",
          "flatPath": "v1alpha/accountSummaries",
          "httpMethod": "GET",
          "id": "analyticsadmin.accountSummaries.list",
          "parameterOrder": [],
          "parameters": {
            "pageSize": {
              "description": "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",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "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",
              "type": "string"
            }
          },
          "path": "v1alpha/accountSummaries",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaListAccountSummariesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ]
        }
      }
    },
    "accounts": {
      "methods": {
        "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, UserLinks) will be permanently purged. https://support.google.com/analytics/answer/6154772 Returns an error if the target is not found.",
          "flatPath": "v1alpha/accounts/{accountsId}",
          "httpMethod": "DELETE",
          "id": "analyticsadmin.accounts.delete",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Required. The name of the Account to soft-delete. Format: accounts/{account} Example: \"accounts/100\"",
              "location": "path",
              "pattern": "^accounts/[^/]+$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1alpha/{+name}",
          "response": {
            "$ref": "GoogleProtobufEmpty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ]
        },
        "get": {
          "description": "Lookup for a single Account.",
          "flatPath": "v1alpha/accounts/{accountsId}",
          "httpMethod": "GET",
          "id": "analyticsadmin.accounts.get",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Required. The name of the account to lookup. Format: accounts/{account} Example: \"accounts/100\"",
              "location": "path",
              "pattern": "^accounts/[^/]+$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1alpha/{+name}",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaAccount"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ]
        },
        "getDataSharingSettings": {
          "description": "Get data sharing settings on an account. Data sharing settings are singletons.",
          "flatPath": "v1alpha/accounts/{accountsId}/dataSharingSettings",
          "httpMethod": "GET",
          "id": "analyticsadmin.accounts.getDataSharingSettings",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Required. The name of the settings to lookup. Format: accounts/{account}/dataSharingSettings Example: \"accounts/1000/dataSharingSettings\"",
              "location": "path",
              "pattern": "^accounts/[^/]+/dataSharingSettings$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1alpha/{+name}",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaDataSharingSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ]
        },
        "list": {
          "description": "Returns all accounts accessible by the caller. Note that these accounts might not currently have GA4 properties. Soft-deleted (ie: \"trashed\") accounts are excluded by default. Returns an empty list if no relevant accounts are found.",
          "flatPath": "v1alpha/accounts",
          "httpMethod": "GET",
          "id": "analyticsadmin.accounts.list",
          "parameterOrder": [],
          "parameters": {
            "pageSize": {
              "description": "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)",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "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.",
              "location": "query",
              "type": "string"
            },
            "showDeleted": {
              "description": "Whether to include soft-deleted (ie: \"trashed\") Accounts in the results. Accounts can be inspected to determine whether they are deleted or not.",
              "location": "query",
              "type": "boolean"
            }
          },
          "path": "v1alpha/accounts",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaListAccountsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ]
        },
        "patch": {
          "description": "Updates an account.",
          "flatPath": "v1alpha/accounts/{accountsId}",
          "httpMethod": "PATCH",
          "id": "analyticsadmin.accounts.patch",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Output only. Resource name of this account. Format: accounts/{account} Example: \"accounts/100\"",
              "location": "path",
              "pattern": "^accounts/[^/]+$",
              "required": true,
              "type": "string"
            },
            "updateMask": {
              "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.",
              "format": "google-fieldmask",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1alpha/{+name}",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1alphaAccount"
          },
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaAccount"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ]
        },
        "provisionAccountTicket": {
          "description": "Requests a ticket for creating an account.",
          "flatPath": "v1alpha/accounts:provisionAccountTicket",
          "httpMethod": "POST",
          "id": "analyticsadmin.accounts.provisionAccountTicket",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1alpha/accounts:provisionAccountTicket",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1alphaProvisionAccountTicketRequest"
          },
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaProvisionAccountTicketResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ]
        },
        "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. The property must be in Google Analytics 360. This method is only available to Administrators. These data access records include GA4 UI Reporting, GA4 UI Explorations, GA4 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).",
          "flatPath": "v1alpha/accounts/{accountsId}:runAccessReport",
          "httpMethod": "POST",
          "id": "analyticsadmin.accounts.runAccessReport",
          "parameterOrder": [
            "entity"
          ],
          "parameters": {
            "entity": {
              "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 GA4 property ID. To request at the account level, entity should be for example 'accounts/1234' if \"1234\" is your GA4 Account ID.",
              "location": "path",
              "pattern": "^accounts/[^/]+$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1alpha/{+entity}:runAccessReport",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1alphaRunAccessReportRequest"
          },
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaRunAccessReportResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ]
        },
        "searchChangeHistoryEvents": {
          "description": "Searches through all changes to an account or its children given the specified set of filters.",
          "flatPath": "v1alpha/accounts/{accountsId}:searchChangeHistoryEvents",
          "httpMethod": "POST",
          "id": "analyticsadmin.accounts.searchChangeHistoryEvents",
          "parameterOrder": [
            "account"
          ],
          "parameters": {
            "account": {
              "description": "Required. The account resource for which to return change history resources.",
              "location": "path",
              "pattern": "^accounts/[^/]+$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1alpha/{+account}:searchChangeHistoryEvents",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1alphaSearchChangeHistoryEventsRequest"
          },
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaSearchChangeHistoryEventsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ]
        }
      },
      "resources": {
        "accessBindings": {
          "methods": {
            "batchCreate": {
              "description": "Creates information about multiple access bindings to an account or property. This method is transactional. If any AccessBinding cannot be created, none of the AccessBindings will be created.",
              "flatPath": "v1alpha/accounts/{accountsId}/accessBindings:batchCreate",
              "httpMethod": "POST",
              "id": "analyticsadmin.accounts.accessBindings.batchCreate",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The account or property that owns the access bindings. The parent field in the CreateAccessBindingRequest messages must either be empty or match this field. Formats: - accounts/{account} - properties/{property}",
                  "location": "path",
                  "pattern": "^accounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/accessBindings:batchCreate",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchCreateAccessBindingsRequest"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchCreateAccessBindingsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "batchDelete": {
              "description": "Deletes information about multiple users' links to an account or property.",
              "flatPath": "v1alpha/accounts/{accountsId}/accessBindings:batchDelete",
              "httpMethod": "POST",
              "id": "analyticsadmin.accounts.accessBindings.batchDelete",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The account or property that owns the access bindings. The parent of all provided values for the 'names' field in DeleteAccessBindingRequest messages must match this field. Formats: - accounts/{account} - properties/{property}",
                  "location": "path",
                  "pattern": "^accounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/accessBindings:batchDelete",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchDeleteAccessBindingsRequest"
              },
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "batchGet": {
              "description": "Gets information about multiple access bindings to an account or property.",
              "flatPath": "v1alpha/accounts/{accountsId}/accessBindings:batchGet",
              "httpMethod": "GET",
              "id": "analyticsadmin.accounts.accessBindings.batchGet",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "names": {
                  "description": "Required. The names of the access bindings to retrieve. A maximum of 1000 access bindings can be retrieved in a batch. Formats: - accounts/{account}/accessBindings/{accessBinding} - properties/{property}/accessBindings/{accessBinding}",
                  "location": "query",
                  "repeated": true,
                  "type": "string"
                },
                "parent": {
                  "description": "Required. The account or property that owns the access bindings. The parent of all provided values for the 'names' field must match this field. Formats: - accounts/{account} - properties/{property}",
                  "location": "path",
                  "pattern": "^accounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/accessBindings:batchGet",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchGetAccessBindingsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users",
                "https://www.googleapis.com/auth/analytics.manage.users.readonly"
              ]
            },
            "batchUpdate": {
              "description": "Updates information about multiple access bindings to an account or property.",
              "flatPath": "v1alpha/accounts/{accountsId}/accessBindings:batchUpdate",
              "httpMethod": "POST",
              "id": "analyticsadmin.accounts.accessBindings.batchUpdate",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The account or property that owns the access bindings. The parent of all provided AccessBinding in UpdateAccessBindingRequest messages must match this field. Formats: - accounts/{account} - properties/{property}",
                  "location": "path",
                  "pattern": "^accounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/accessBindings:batchUpdate",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchUpdateAccessBindingsRequest"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchUpdateAccessBindingsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "create": {
              "description": "Creates an access binding on an account or property.",
              "flatPath": "v1alpha/accounts/{accountsId}/accessBindings",
              "httpMethod": "POST",
              "id": "analyticsadmin.accounts.accessBindings.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. Formats: - accounts/{account} - properties/{property}",
                  "location": "path",
                  "pattern": "^accounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/accessBindings",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaAccessBinding"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaAccessBinding"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "delete": {
              "description": "Deletes an access binding on an account or property.",
              "flatPath": "v1alpha/accounts/{accountsId}/accessBindings/{accessBindingsId}",
              "httpMethod": "DELETE",
              "id": "analyticsadmin.accounts.accessBindings.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. Formats: - accounts/{account}/accessBindings/{accessBinding} - properties/{property}/accessBindings/{accessBinding}",
                  "location": "path",
                  "pattern": "^accounts/[^/]+/accessBindings/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "get": {
              "description": "Gets information about an access binding.",
              "flatPath": "v1alpha/accounts/{accountsId}/accessBindings/{accessBindingsId}",
              "httpMethod": "GET",
              "id": "analyticsadmin.accounts.accessBindings.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the access binding to retrieve. Formats: - accounts/{account}/accessBindings/{accessBinding} - properties/{property}/accessBindings/{accessBinding}",
                  "location": "path",
                  "pattern": "^accounts/[^/]+/accessBindings/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaAccessBinding"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users",
                "https://www.googleapis.com/auth/analytics.manage.users.readonly"
              ]
            },
            "list": {
              "description": "Lists all access bindings on an account or property.",
              "flatPath": "v1alpha/accounts/{accountsId}/accessBindings",
              "httpMethod": "GET",
              "id": "analyticsadmin.accounts.accessBindings.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageSize": {
                  "description": "The maximum number of access bindings to return. The service may return fewer than this value. If unspecified, at most 200 access bindings will be returned. The maximum value is 500; values above 500 will be coerced to 500.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "A page token, received from a previous `ListAccessBindings` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccessBindings` must match the call that provided the page token.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. Formats: - accounts/{account} - properties/{property}",
                  "location": "path",
                  "pattern": "^accounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/accessBindings",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaListAccessBindingsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users",
                "https://www.googleapis.com/auth/analytics.manage.users.readonly"
              ]
            },
            "patch": {
              "description": "Updates an access binding on an account or property.",
              "flatPath": "v1alpha/accounts/{accountsId}/accessBindings/{accessBindingsId}",
              "httpMethod": "PATCH",
              "id": "analyticsadmin.accounts.accessBindings.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Output only. Resource name of this binding. Format: accounts/{account}/accessBindings/{access_binding} or properties/{property}/accessBindings/{access_binding} Example: \"accounts/100/accessBindings/200\"",
                  "location": "path",
                  "pattern": "^accounts/[^/]+/accessBindings/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaAccessBinding"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaAccessBinding"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            }
          }
        },
        "userLinks": {
          "methods": {
            "audit": {
              "description": "Lists all user links on an account or property, including implicit ones that come from effective permissions granted by groups or organization admin roles. If a returned user link does not have direct permissions, they cannot be removed from the account or property directly with the DeleteUserLink command. They have to be removed from the group/etc that gives them permissions, which is currently only usable/discoverable in the GA or GMP UIs.",
              "flatPath": "v1alpha/accounts/{accountsId}/userLinks:audit",
              "httpMethod": "POST",
              "id": "analyticsadmin.accounts.userLinks.audit",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. Example format: accounts/1234",
                  "location": "path",
                  "pattern": "^accounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/userLinks:audit",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaAuditUserLinksRequest"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaAuditUserLinksResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users",
                "https://www.googleapis.com/auth/analytics.manage.users.readonly"
              ]
            },
            "batchCreate": {
              "description": "Creates information about multiple users' links to an account or property. This method is transactional. If any UserLink cannot be created, none of the UserLinks will be created.",
              "flatPath": "v1alpha/accounts/{accountsId}/userLinks:batchCreate",
              "httpMethod": "POST",
              "id": "analyticsadmin.accounts.userLinks.batchCreate",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The account or property that all user links in the request are for. This field is required. The parent field in the CreateUserLinkRequest messages must either be empty or match this field. Example format: accounts/1234",
                  "location": "path",
                  "pattern": "^accounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/userLinks:batchCreate",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchCreateUserLinksRequest"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchCreateUserLinksResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "batchDelete": {
              "description": "Deletes information about multiple users' links to an account or property.",
              "flatPath": "v1alpha/accounts/{accountsId}/userLinks:batchDelete",
              "httpMethod": "POST",
              "id": "analyticsadmin.accounts.userLinks.batchDelete",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The account or property that all user links in the request are for. The parent of all values for user link names to delete must match this field. Example format: accounts/1234",
                  "location": "path",
                  "pattern": "^accounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/userLinks:batchDelete",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchDeleteUserLinksRequest"
              },
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "batchGet": {
              "description": "Gets information about multiple users' links to an account or property.",
              "flatPath": "v1alpha/accounts/{accountsId}/userLinks:batchGet",
              "httpMethod": "GET",
              "id": "analyticsadmin.accounts.userLinks.batchGet",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "names": {
                  "description": "Required. The names of the user links to retrieve. A maximum of 1000 user links can be retrieved in a batch. Format: accounts/{accountId}/userLinks/{userLinkId}",
                  "location": "query",
                  "repeated": true,
                  "type": "string"
                },
                "parent": {
                  "description": "Required. The account or property that all user links in the request are for. The parent of all provided values for the 'names' field must match this field. Example format: accounts/1234",
                  "location": "path",
                  "pattern": "^accounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/userLinks:batchGet",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchGetUserLinksResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users",
                "https://www.googleapis.com/auth/analytics.manage.users.readonly"
              ]
            },
            "batchUpdate": {
              "description": "Updates information about multiple users' links to an account or property.",
              "flatPath": "v1alpha/accounts/{accountsId}/userLinks:batchUpdate",
              "httpMethod": "POST",
              "id": "analyticsadmin.accounts.userLinks.batchUpdate",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The account or property that all user links in the request are for. The parent field in the UpdateUserLinkRequest messages must either be empty or match this field. Example format: accounts/1234",
                  "location": "path",
                  "pattern": "^accounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/userLinks:batchUpdate",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchUpdateUserLinksRequest"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchUpdateUserLinksResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "create": {
              "description": "Creates a user link on an account or property. If the user with the specified email already has permissions on the account or property, then the user's existing permissions will be unioned with the permissions specified in the new UserLink.",
              "flatPath": "v1alpha/accounts/{accountsId}/userLinks",
              "httpMethod": "POST",
              "id": "analyticsadmin.accounts.userLinks.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "notifyNewUser": {
                  "description": "Optional. If set, then email the new user notifying them that they've been granted permissions to the resource.",
                  "location": "query",
                  "type": "boolean"
                },
                "parent": {
                  "description": "Required. Example format: accounts/1234",
                  "location": "path",
                  "pattern": "^accounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/userLinks",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaUserLink"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaUserLink"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "delete": {
              "description": "Deletes a user link on an account or property.",
              "flatPath": "v1alpha/accounts/{accountsId}/userLinks/{userLinksId}",
              "httpMethod": "DELETE",
              "id": "analyticsadmin.accounts.userLinks.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. Example format: accounts/1234/userLinks/5678",
                  "location": "path",
                  "pattern": "^accounts/[^/]+/userLinks/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "get": {
              "description": "Gets information about a user's link to an account or property.",
              "flatPath": "v1alpha/accounts/{accountsId}/userLinks/{userLinksId}",
              "httpMethod": "GET",
              "id": "analyticsadmin.accounts.userLinks.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. Example format: accounts/1234/userLinks/5678",
                  "location": "path",
                  "pattern": "^accounts/[^/]+/userLinks/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaUserLink"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users",
                "https://www.googleapis.com/auth/analytics.manage.users.readonly"
              ]
            },
            "list": {
              "description": "Lists all user links on an account or property.",
              "flatPath": "v1alpha/accounts/{accountsId}/userLinks",
              "httpMethod": "GET",
              "id": "analyticsadmin.accounts.userLinks.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageSize": {
                  "description": "The maximum number of user links to return. The service may return fewer than this value. If unspecified, at most 200 user links will be returned. The maximum value is 500; values above 500 will be coerced to 500.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "A page token, received from a previous `ListUserLinks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUserLinks` must match the call that provided the page token.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. Example format: accounts/1234",
                  "location": "path",
                  "pattern": "^accounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/userLinks",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaListUserLinksResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users",
                "https://www.googleapis.com/auth/analytics.manage.users.readonly"
              ]
            },
            "patch": {
              "description": "Updates a user link on an account or property.",
              "flatPath": "v1alpha/accounts/{accountsId}/userLinks/{userLinksId}",
              "httpMethod": "PATCH",
              "id": "analyticsadmin.accounts.userLinks.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Output only. Example format: properties/1234/userLinks/5678",
                  "location": "path",
                  "pattern": "^accounts/[^/]+/userLinks/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaUserLink"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaUserLink"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            }
          }
        }
      }
    },
    "properties": {
      "methods": {
        "acknowledgeUserDataCollection": {
          "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.",
          "flatPath": "v1alpha/properties/{propertiesId}:acknowledgeUserDataCollection",
          "httpMethod": "POST",
          "id": "analyticsadmin.properties.acknowledgeUserDataCollection",
          "parameterOrder": [
            "property"
          ],
          "parameters": {
            "property": {
              "description": "Required. The property for which to acknowledge user data collection.",
              "location": "path",
              "pattern": "^properties/[^/]+$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1alpha/{+property}:acknowledgeUserDataCollection",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionRequest"
          },
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ]
        },
        "create": {
          "description": "Creates an \"GA4\" property with the specified location and attributes.",
          "flatPath": "v1alpha/properties",
          "httpMethod": "POST",
          "id": "analyticsadmin.properties.create",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1alpha/properties",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1alphaProperty"
          },
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaProperty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ]
        },
        "createConnectedSiteTag": {
          "description": "Creates a connected site tag for a Universal Analytics property. You can create a maximum of 20 connected site tags per property. Note: This API cannot be used on GA4 properties.",
          "flatPath": "v1alpha/properties:createConnectedSiteTag",
          "httpMethod": "POST",
          "id": "analyticsadmin.properties.createConnectedSiteTag",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1alpha/properties:createConnectedSiteTag",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1alphaCreateConnectedSiteTagRequest"
          },
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaCreateConnectedSiteTagResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ]
        },
        "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, UserLinks) will be permanently purged. https://support.google.com/analytics/answer/6154772 Returns an error if the target is not found, or is not a GA4 Property.",
          "flatPath": "v1alpha/properties/{propertiesId}",
          "httpMethod": "DELETE",
          "id": "analyticsadmin.properties.delete",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Required. The name of the Property to soft-delete. Format: properties/{property_id} Example: \"properties/1000\"",
              "location": "path",
              "pattern": "^properties/[^/]+$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1alpha/{+name}",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaProperty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ]
        },
        "deleteConnectedSiteTag": {
          "description": "Deletes a connected site tag for a Universal Analytics property. Note: this has no effect on GA4 properties.",
          "flatPath": "v1alpha/properties:deleteConnectedSiteTag",
          "httpMethod": "POST",
          "id": "analyticsadmin.properties.deleteConnectedSiteTag",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1alpha/properties:deleteConnectedSiteTag",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1alphaDeleteConnectedSiteTagRequest"
          },
          "response": {
            "$ref": "GoogleProtobufEmpty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ]
        },
        "fetchAutomatedGa4ConfigurationOptOut": {
          "description": "Fetches the opt out status for the automated GA4 setup process for a UA property. Note: this has no effect on GA4 property.",
          "flatPath": "v1alpha/properties:fetchAutomatedGa4ConfigurationOptOut",
          "httpMethod": "POST",
          "id": "analyticsadmin.properties.fetchAutomatedGa4ConfigurationOptOut",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1alpha/properties:fetchAutomatedGa4ConfigurationOptOut",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1alphaFetchAutomatedGa4ConfigurationOptOutRequest"
          },
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaFetchAutomatedGa4ConfigurationOptOutResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ]
        },
        "get": {
          "description": "Lookup for a single \"GA4\" Property.",
          "flatPath": "v1alpha/properties/{propertiesId}",
          "httpMethod": "GET",
          "id": "analyticsadmin.properties.get",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Required. The name of the property to lookup. Format: properties/{property_id} Example: \"properties/1000\"",
              "location": "path",
              "pattern": "^properties/[^/]+$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1alpha/{+name}",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaProperty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ]
        },
        "getAttributionSettings": {
          "description": "Lookup for a AttributionSettings singleton.",
          "flatPath": "v1alpha/properties/{propertiesId}/attributionSettings",
          "httpMethod": "GET",
          "id": "analyticsadmin.properties.getAttributionSettings",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Required. The name of the attribution settings to retrieve. Format: properties/{property}/attributionSettings",
              "location": "path",
              "pattern": "^properties/[^/]+/attributionSettings$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1alpha/{+name}",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaAttributionSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ]
        },
        "getDataRetentionSettings": {
          "description": "Returns the singleton data retention settings for this property.",
          "flatPath": "v1alpha/properties/{propertiesId}/dataRetentionSettings",
          "httpMethod": "GET",
          "id": "analyticsadmin.properties.getDataRetentionSettings",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Required. The name of the settings to lookup. Format: properties/{property}/dataRetentionSettings Example: \"properties/1000/dataRetentionSettings\"",
              "location": "path",
              "pattern": "^properties/[^/]+/dataRetentionSettings$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1alpha/{+name}",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaDataRetentionSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ]
        },
        "getGoogleSignalsSettings": {
          "description": "Lookup for Google Signals settings for a property.",
          "flatPath": "v1alpha/properties/{propertiesId}/googleSignalsSettings",
          "httpMethod": "GET",
          "id": "analyticsadmin.properties.getGoogleSignalsSettings",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Required. The name of the google signals settings to retrieve. Format: properties/{property}/googleSignalsSettings",
              "location": "path",
              "pattern": "^properties/[^/]+/googleSignalsSettings$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1alpha/{+name}",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ]
        },
        "list": {
          "description": "Returns child Properties under the specified parent Account. Only \"GA4\" properties will be returned. 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.",
          "flatPath": "v1alpha/properties",
          "httpMethod": "GET",
          "id": "analyticsadmin.properties.list",
          "parameterOrder": [],
          "parameters": {
            "filter": {
              "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",
              "type": "string"
            },
            "pageSize": {
              "description": "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)",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "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",
              "type": "string"
            },
            "showDeleted": {
              "description": "Whether to include soft-deleted (ie: \"trashed\") Properties in the results. Properties can be inspected to determine whether they are deleted or not.",
              "location": "query",
              "type": "boolean"
            }
          },
          "path": "v1alpha/properties",
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaListPropertiesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ]
        },
        "listConnectedSiteTags": {
          "description": "Lists the connected site tags for a Universal Analytics property. A maximum of 20 connected site tags will be returned. Note: this has no effect on GA4 property.",
          "flatPath": "v1alpha/properties:listConnectedSiteTags",
          "httpMethod": "POST",
          "id": "analyticsadmin.properties.listConnectedSiteTags",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1alpha/properties:listConnectedSiteTags",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1alphaListConnectedSiteTagsRequest"
          },
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaListConnectedSiteTagsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ]
        },
        "patch": {
          "description": "Updates a property.",
          "flatPath": "v1alpha/properties/{propertiesId}",
          "httpMethod": "PATCH",
          "id": "analyticsadmin.properties.patch",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Output only. Resource name of this property. Format: properties/{property_id} Example: \"properties/1000\"",
              "location": "path",
              "pattern": "^properties/[^/]+$",
              "required": true,
              "type": "string"
            },
            "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"
            }
          },
          "path": "v1alpha/{+name}",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1alphaProperty"
          },
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaProperty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ]
        },
        "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. The property must be in Google Analytics 360. This method is only available to Administrators. These data access records include GA4 UI Reporting, GA4 UI Explorations, GA4 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).",
          "flatPath": "v1alpha/properties/{propertiesId}:runAccessReport",
          "httpMethod": "POST",
          "id": "analyticsadmin.properties.runAccessReport",
          "parameterOrder": [
            "entity"
          ],
          "parameters": {
            "entity": {
              "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 GA4 property ID. To request at the account level, entity should be for example 'accounts/1234' if \"1234\" is your GA4 Account ID.",
              "location": "path",
              "pattern": "^properties/[^/]+$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1alpha/{+entity}:runAccessReport",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1alphaRunAccessReportRequest"
          },
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaRunAccessReportResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit",
            "https://www.googleapis.com/auth/analytics.readonly"
          ]
        },
        "setAutomatedGa4ConfigurationOptOut": {
          "description": "Sets the opt out status for the automated GA4 setup process for a UA property. Note: this has no effect on GA4 property.",
          "flatPath": "v1alpha/properties:setAutomatedGa4ConfigurationOptOut",
          "httpMethod": "POST",
          "id": "analyticsadmin.properties.setAutomatedGa4ConfigurationOptOut",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1alpha/properties:setAutomatedGa4ConfigurationOptOut",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1alphaSetAutomatedGa4ConfigurationOptOutRequest"
          },
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaSetAutomatedGa4ConfigurationOptOutResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ]
        },
        "updateAttributionSettings": {
          "description": "Updates attribution settings on a property.",
          "flatPath": "v1alpha/properties/{propertiesId}/attributionSettings",
          "httpMethod": "PATCH",
          "id": "analyticsadmin.properties.updateAttributionSettings",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Output only. Resource name of this attribution settings resource. Format: properties/{property_id}/attributionSettings Example: \"properties/1000/attributionSettings\"",
              "location": "path",
              "pattern": "^properties/[^/]+/attributionSettings$",
              "required": true,
              "type": "string"
            },
            "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"
            }
          },
          "path": "v1alpha/{+name}",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1alphaAttributionSettings"
          },
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaAttributionSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ]
        },
        "updateDataRetentionSettings": {
          "description": "Updates the singleton data retention settings for this property.",
          "flatPath": "v1alpha/properties/{propertiesId}/dataRetentionSettings",
          "httpMethod": "PATCH",
          "id": "analyticsadmin.properties.updateDataRetentionSettings",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Output only. Resource name for this DataRetentionSetting resource. Format: properties/{property}/dataRetentionSettings",
              "location": "path",
              "pattern": "^properties/[^/]+/dataRetentionSettings$",
              "required": true,
              "type": "string"
            },
            "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"
            }
          },
          "path": "v1alpha/{+name}",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1alphaDataRetentionSettings"
          },
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaDataRetentionSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ]
        },
        "updateGoogleSignalsSettings": {
          "description": "Updates Google Signals settings for a property.",
          "flatPath": "v1alpha/properties/{propertiesId}/googleSignalsSettings",
          "httpMethod": "PATCH",
          "id": "analyticsadmin.properties.updateGoogleSignalsSettings",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Output only. Resource name of this setting. Format: properties/{property_id}/googleSignalsSettings Example: \"properties/1000/googleSignalsSettings\"",
              "location": "path",
              "pattern": "^properties/[^/]+/googleSignalsSettings$",
              "required": true,
              "type": "string"
            },
            "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"
            }
          },
          "path": "v1alpha/{+name}",
          "request": {
            "$ref": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings"
          },
          "response": {
            "$ref": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.edit"
          ]
        }
      },
      "resources": {
        "accessBindings": {
          "methods": {
            "batchCreate": {
              "description": "Creates information about multiple access bindings to an account or property. This method is transactional. If any AccessBinding cannot be created, none of the AccessBindings will be created.",
              "flatPath": "v1alpha/properties/{propertiesId}/accessBindings:batchCreate",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.accessBindings.batchCreate",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The account or property that owns the access bindings. The parent field in the CreateAccessBindingRequest messages must either be empty or match this field. Formats: - accounts/{account} - properties/{property}",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/accessBindings:batchCreate",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchCreateAccessBindingsRequest"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchCreateAccessBindingsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "batchDelete": {
              "description": "Deletes information about multiple users' links to an account or property.",
              "flatPath": "v1alpha/properties/{propertiesId}/accessBindings:batchDelete",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.accessBindings.batchDelete",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The account or property that owns the access bindings. The parent of all provided values for the 'names' field in DeleteAccessBindingRequest messages must match this field. Formats: - accounts/{account} - properties/{property}",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/accessBindings:batchDelete",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchDeleteAccessBindingsRequest"
              },
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "batchGet": {
              "description": "Gets information about multiple access bindings to an account or property.",
              "flatPath": "v1alpha/properties/{propertiesId}/accessBindings:batchGet",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.accessBindings.batchGet",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "names": {
                  "description": "Required. The names of the access bindings to retrieve. A maximum of 1000 access bindings can be retrieved in a batch. Formats: - accounts/{account}/accessBindings/{accessBinding} - properties/{property}/accessBindings/{accessBinding}",
                  "location": "query",
                  "repeated": true,
                  "type": "string"
                },
                "parent": {
                  "description": "Required. The account or property that owns the access bindings. The parent of all provided values for the 'names' field must match this field. Formats: - accounts/{account} - properties/{property}",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/accessBindings:batchGet",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchGetAccessBindingsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users",
                "https://www.googleapis.com/auth/analytics.manage.users.readonly"
              ]
            },
            "batchUpdate": {
              "description": "Updates information about multiple access bindings to an account or property.",
              "flatPath": "v1alpha/properties/{propertiesId}/accessBindings:batchUpdate",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.accessBindings.batchUpdate",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The account or property that owns the access bindings. The parent of all provided AccessBinding in UpdateAccessBindingRequest messages must match this field. Formats: - accounts/{account} - properties/{property}",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/accessBindings:batchUpdate",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchUpdateAccessBindingsRequest"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchUpdateAccessBindingsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "create": {
              "description": "Creates an access binding on an account or property.",
              "flatPath": "v1alpha/properties/{propertiesId}/accessBindings",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.accessBindings.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. Formats: - accounts/{account} - properties/{property}",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/accessBindings",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaAccessBinding"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaAccessBinding"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "delete": {
              "description": "Deletes an access binding on an account or property.",
              "flatPath": "v1alpha/properties/{propertiesId}/accessBindings/{accessBindingsId}",
              "httpMethod": "DELETE",
              "id": "analyticsadmin.properties.accessBindings.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. Formats: - accounts/{account}/accessBindings/{accessBinding} - properties/{property}/accessBindings/{accessBinding}",
                  "location": "path",
                  "pattern": "^properties/[^/]+/accessBindings/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "get": {
              "description": "Gets information about an access binding.",
              "flatPath": "v1alpha/properties/{propertiesId}/accessBindings/{accessBindingsId}",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.accessBindings.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the access binding to retrieve. Formats: - accounts/{account}/accessBindings/{accessBinding} - properties/{property}/accessBindings/{accessBinding}",
                  "location": "path",
                  "pattern": "^properties/[^/]+/accessBindings/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaAccessBinding"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users",
                "https://www.googleapis.com/auth/analytics.manage.users.readonly"
              ]
            },
            "list": {
              "description": "Lists all access bindings on an account or property.",
              "flatPath": "v1alpha/properties/{propertiesId}/accessBindings",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.accessBindings.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageSize": {
                  "description": "The maximum number of access bindings to return. The service may return fewer than this value. If unspecified, at most 200 access bindings will be returned. The maximum value is 500; values above 500 will be coerced to 500.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "A page token, received from a previous `ListAccessBindings` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccessBindings` must match the call that provided the page token.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. Formats: - accounts/{account} - properties/{property}",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/accessBindings",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaListAccessBindingsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users",
                "https://www.googleapis.com/auth/analytics.manage.users.readonly"
              ]
            },
            "patch": {
              "description": "Updates an access binding on an account or property.",
              "flatPath": "v1alpha/properties/{propertiesId}/accessBindings/{accessBindingsId}",
              "httpMethod": "PATCH",
              "id": "analyticsadmin.properties.accessBindings.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Output only. Resource name of this binding. Format: accounts/{account}/accessBindings/{access_binding} or properties/{property}/accessBindings/{access_binding} Example: \"accounts/100/accessBindings/200\"",
                  "location": "path",
                  "pattern": "^properties/[^/]+/accessBindings/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaAccessBinding"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaAccessBinding"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            }
          }
        },
        "audiences": {
          "methods": {
            "archive": {
              "description": "Archives an Audience on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/audiences/{audiencesId}:archive",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.audiences.archive",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. Example format: properties/1234/audiences/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/audiences/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}:archive",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaArchiveAudienceRequest"
              },
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "create": {
              "description": "Creates an Audience.",
              "flatPath": "v1alpha/properties/{propertiesId}/audiences",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.audiences.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/audiences",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaAudience"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaAudience"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "get": {
              "description": "Lookup for a single Audience. Audiences created before 2020 may not be supported. Default audiences will not show filter definitions.",
              "flatPath": "v1alpha/properties/{propertiesId}/audiences/{audiencesId}",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.audiences.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the Audience to get. Example format: properties/1234/audiences/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/audiences/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaAudience"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "list": {
              "description": "Lists Audiences on a property. Audiences created before 2020 may not be supported. Default audiences will not show filter definitions.",
              "flatPath": "v1alpha/properties/{propertiesId}/audiences",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.audiences.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "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).",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "A page token, received from a previous `ListAudiences` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAudiences` must match the call that provided the page token.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/audiences",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaListAudiencesResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "patch": {
              "description": "Updates an Audience on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/audiences/{audiencesId}",
              "httpMethod": "PATCH",
              "id": "analyticsadmin.properties.audiences.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Output only. The resource name for this Audience resource. Format: properties/{propertyId}/audiences/{audienceId}",
                  "location": "path",
                  "pattern": "^properties/[^/]+/audiences/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "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"
                }
              },
              "path": "v1alpha/{+name}",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaAudience"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaAudience"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            }
          }
        },
        "bigQueryLinks": {
          "methods": {
            "get": {
              "description": "Lookup for a single BigQuery Link.",
              "flatPath": "v1alpha/properties/{propertiesId}/bigQueryLinks/{bigQueryLinksId}",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.bigQueryLinks.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the BigQuery link to lookup. Format: properties/{property_id}/bigQueryLinks/{bigquery_link_id} Example: properties/123/bigQueryLinks/456",
                  "location": "path",
                  "pattern": "^properties/[^/]+/bigQueryLinks/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaBigQueryLink"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "list": {
              "description": "Lists BigQuery Links on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/bigQueryLinks",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.bigQueryLinks.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageSize": {
                  "description": "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)",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "A page token, received from a previous `ListBigQueryLinks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryLinks` must match the call that provided the page token.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. The name of the property to list BigQuery links under. Format: properties/{property_id} Example: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/bigQueryLinks",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaListBigQueryLinksResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            }
          }
        },
        "conversionEvents": {
          "methods": {
            "create": {
              "description": "Creates a conversion event with the specified attributes.",
              "flatPath": "v1alpha/properties/{propertiesId}/conversionEvents",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.conversionEvents.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The resource name of the parent property where this conversion event will be created. Format: properties/123",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/conversionEvents",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaConversionEvent"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaConversionEvent"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "delete": {
              "description": "Deletes a conversion event in a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/conversionEvents/{conversionEventsId}",
              "httpMethod": "DELETE",
              "id": "analyticsadmin.properties.conversionEvents.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The resource name of the conversion event to delete. Format: properties/{property}/conversionEvents/{conversion_event} Example: \"properties/123/conversionEvents/456\"",
                  "location": "path",
                  "pattern": "^properties/[^/]+/conversionEvents/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "get": {
              "description": "Retrieve a single conversion event.",
              "flatPath": "v1alpha/properties/{propertiesId}/conversionEvents/{conversionEventsId}",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.conversionEvents.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The resource name of the conversion event to retrieve. Format: properties/{property}/conversionEvents/{conversion_event} Example: \"properties/123/conversionEvents/456\"",
                  "location": "path",
                  "pattern": "^properties/[^/]+/conversionEvents/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaConversionEvent"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "list": {
              "description": "Returns a list of conversion events in the specified parent property. Returns an empty list if no conversion events are found.",
              "flatPath": "v1alpha/properties/{propertiesId}/conversionEvents",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.conversionEvents.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "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)",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "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.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. The resource name of the parent property. Example: 'properties/123'",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/conversionEvents",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaListConversionEventsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            }
          }
        },
        "customDimensions": {
          "methods": {
            "archive": {
              "description": "Archives a CustomDimension on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/customDimensions/{customDimensionsId}:archive",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.customDimensions.archive",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the CustomDimension to archive. Example format: properties/1234/customDimensions/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/customDimensions/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}:archive",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaArchiveCustomDimensionRequest"
              },
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "create": {
              "description": "Creates a CustomDimension.",
              "flatPath": "v1alpha/properties/{propertiesId}/customDimensions",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.customDimensions.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/customDimensions",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "get": {
              "description": "Lookup for a single CustomDimension.",
              "flatPath": "v1alpha/properties/{propertiesId}/customDimensions/{customDimensionsId}",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.customDimensions.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the CustomDimension to get. Example format: properties/1234/customDimensions/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/customDimensions/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "list": {
              "description": "Lists CustomDimensions on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/customDimensions",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.customDimensions.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "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).",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "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",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/customDimensions",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaListCustomDimensionsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "patch": {
              "description": "Updates a CustomDimension on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/customDimensions/{customDimensionsId}",
              "httpMethod": "PATCH",
              "id": "analyticsadmin.properties.customDimensions.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}",
                  "location": "path",
                  "pattern": "^properties/[^/]+/customDimensions/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "updateMask": {
                  "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",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            }
          }
        },
        "customMetrics": {
          "methods": {
            "archive": {
              "description": "Archives a CustomMetric on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/customMetrics/{customMetricsId}:archive",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.customMetrics.archive",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the CustomMetric to archive. Example format: properties/1234/customMetrics/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/customMetrics/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}:archive",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaArchiveCustomMetricRequest"
              },
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "create": {
              "description": "Creates a CustomMetric.",
              "flatPath": "v1alpha/properties/{propertiesId}/customMetrics",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.customMetrics.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/customMetrics",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "get": {
              "description": "Lookup for a single CustomMetric.",
              "flatPath": "v1alpha/properties/{propertiesId}/customMetrics/{customMetricsId}",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.customMetrics.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the CustomMetric to get. Example format: properties/1234/customMetrics/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/customMetrics/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "list": {
              "description": "Lists CustomMetrics on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/customMetrics",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.customMetrics.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "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).",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "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.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/customMetrics",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaListCustomMetricsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "patch": {
              "description": "Updates a CustomMetric on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/customMetrics/{customMetricsId}",
              "httpMethod": "PATCH",
              "id": "analyticsadmin.properties.customMetrics.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}",
                  "location": "path",
                  "pattern": "^properties/[^/]+/customMetrics/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "updateMask": {
                  "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",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            }
          }
        },
        "dataStreams": {
          "methods": {
            "create": {
              "description": "Creates a DataStream.",
              "flatPath": "v1alpha/properties/{propertiesId}/dataStreams",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.dataStreams.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/dataStreams",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaDataStream"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaDataStream"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "delete": {
              "description": "Deletes a DataStream on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}",
              "httpMethod": "DELETE",
              "id": "analyticsadmin.properties.dataStreams.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the DataStream to delete. Example format: properties/1234/dataStreams/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/dataStreams/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "get": {
              "description": "Lookup for a single DataStream.",
              "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.dataStreams.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the DataStream to get. Example format: properties/1234/dataStreams/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/dataStreams/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaDataStream"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "getEnhancedMeasurementSettings": {
              "description": "Returns the enhanced measurement settings for this data stream. Note that the stream must enable enhanced measurement for these settings to take effect.",
              "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/enhancedMeasurementSettings",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.dataStreams.getEnhancedMeasurementSettings",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the settings to lookup. Format: properties/{property}/dataStreams/{data_stream}/enhancedMeasurementSettings Example: \"properties/1000/dataStreams/2000/enhancedMeasurementSettings\"",
                  "location": "path",
                  "pattern": "^properties/[^/]+/dataStreams/[^/]+/enhancedMeasurementSettings$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaEnhancedMeasurementSettings"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "getGlobalSiteTag": {
              "description": "Returns the Site Tag for the specified web stream. Site Tags are immutable singletons.",
              "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/globalSiteTag",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.dataStreams.getGlobalSiteTag",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the site tag to lookup. Note that site tags are singletons and do not have unique IDs. Format: properties/{property_id}/dataStreams/{stream_id}/globalSiteTag Example: \"properties/123/dataStreams/456/globalSiteTag\"",
                  "location": "path",
                  "pattern": "^properties/[^/]+/dataStreams/[^/]+/globalSiteTag$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaGlobalSiteTag"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "list": {
              "description": "Lists DataStreams on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/dataStreams",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.dataStreams.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "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).",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "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.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/dataStreams",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaListDataStreamsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "patch": {
              "description": "Updates a DataStream on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}",
              "httpMethod": "PATCH",
              "id": "analyticsadmin.properties.dataStreams.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Output only. Resource name of this Data Stream. Format: properties/{property_id}/dataStreams/{stream_id} Example: \"properties/1000/dataStreams/2000\"",
                  "location": "path",
                  "pattern": "^properties/[^/]+/dataStreams/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "updateMask": {
                  "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",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaDataStream"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaDataStream"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "updateEnhancedMeasurementSettings": {
              "description": "Updates the enhanced measurement settings for this data stream. Note that the stream must enable enhanced measurement for these settings to take effect.",
              "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/enhancedMeasurementSettings",
              "httpMethod": "PATCH",
              "id": "analyticsadmin.properties.dataStreams.updateEnhancedMeasurementSettings",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Output only. Resource name of the Enhanced Measurement Settings. Format: properties/{property_id}/dataStreams/{data_stream}/enhancedMeasurementSettings Example: \"properties/1000/dataStreams/2000/enhancedMeasurementSettings\"",
                  "location": "path",
                  "pattern": "^properties/[^/]+/dataStreams/[^/]+/enhancedMeasurementSettings$",
                  "required": true,
                  "type": "string"
                },
                "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"
                }
              },
              "path": "v1alpha/{+name}",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaEnhancedMeasurementSettings"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaEnhancedMeasurementSettings"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            }
          },
          "resources": {
            "measurementProtocolSecrets": {
              "methods": {
                "create": {
                  "description": "Creates a measurement protocol secret.",
                  "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets",
                  "httpMethod": "POST",
                  "id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.create",
                  "parameterOrder": [
                    "parent"
                  ],
                  "parameters": {
                    "parent": {
                      "description": "Required. The parent resource where this secret will be created. Format: properties/{property}/dataStreams/{dataStream}",
                      "location": "path",
                      "pattern": "^properties/[^/]+/dataStreams/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1alpha/{+parent}/measurementProtocolSecrets",
                  "request": {
                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
                  },
                  "response": {
                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/analytics.edit"
                  ]
                },
                "delete": {
                  "description": "Deletes target MeasurementProtocolSecret.",
                  "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}",
                  "httpMethod": "DELETE",
                  "id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.delete",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "description": "Required. The name of the MeasurementProtocolSecret to delete. Format: properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}",
                      "location": "path",
                      "pattern": "^properties/[^/]+/dataStreams/[^/]+/measurementProtocolSecrets/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1alpha/{+name}",
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/analytics.edit"
                  ]
                },
                "get": {
                  "description": "Lookup for a single \"GA4\" MeasurementProtocolSecret.",
                  "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}",
                  "httpMethod": "GET",
                  "id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "description": "Required. The name of the measurement protocol secret to lookup. Format: properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}",
                      "location": "path",
                      "pattern": "^properties/[^/]+/dataStreams/[^/]+/measurementProtocolSecrets/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1alpha/{+name}",
                  "response": {
                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/analytics.edit",
                    "https://www.googleapis.com/auth/analytics.readonly"
                  ]
                },
                "list": {
                  "description": "Returns child MeasurementProtocolSecrets under the specified parent Property.",
                  "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets",
                  "httpMethod": "GET",
                  "id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.list",
                  "parameterOrder": [
                    "parent"
                  ],
                  "parameters": {
                    "pageSize": {
                      "description": "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.",
                      "format": "int32",
                      "location": "query",
                      "type": "integer"
                    },
                    "pageToken": {
                      "description": "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.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "description": "Required. The resource name of the parent stream. Format: properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets",
                      "location": "path",
                      "pattern": "^properties/[^/]+/dataStreams/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1alpha/{+parent}/measurementProtocolSecrets",
                  "response": {
                    "$ref": "GoogleAnalyticsAdminV1alphaListMeasurementProtocolSecretsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/analytics.edit",
                    "https://www.googleapis.com/auth/analytics.readonly"
                  ]
                },
                "patch": {
                  "description": "Updates a measurement protocol secret.",
                  "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}",
                  "httpMethod": "PATCH",
                  "id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.patch",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "description": "Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}",
                      "location": "path",
                      "pattern": "^properties/[^/]+/dataStreams/[^/]+/measurementProtocolSecrets/[^/]+$",
                      "required": true,
                      "type": "string"
                    },
                    "updateMask": {
                      "description": "The list of fields to be updated. Omitted fields will not be updated.",
                      "format": "google-fieldmask",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "path": "v1alpha/{+name}",
                  "request": {
                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
                  },
                  "response": {
                    "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/analytics.edit"
                  ]
                }
              }
            }
          }
        },
        "displayVideo360AdvertiserLinkProposals": {
          "methods": {
            "approve": {
              "description": "Approves a DisplayVideo360AdvertiserLinkProposal. The DisplayVideo360AdvertiserLinkProposal will be deleted and a new DisplayVideo360AdvertiserLink will be created.",
              "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals/{displayVideo360AdvertiserLinkProposalsId}:approve",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.approve",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the DisplayVideo360AdvertiserLinkProposal to approve. Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/displayVideo360AdvertiserLinkProposals/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}:approve",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalRequest"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "cancel": {
              "description": "Cancels a DisplayVideo360AdvertiserLinkProposal. Cancelling can mean either: - Declining a proposal initiated from Display & Video 360 - Withdrawing a proposal initiated from Google Analytics After being cancelled, a proposal will eventually be deleted automatically.",
              "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals/{displayVideo360AdvertiserLinkProposalsId}:cancel",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.cancel",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the DisplayVideo360AdvertiserLinkProposal to cancel. Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/displayVideo360AdvertiserLinkProposals/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}:cancel",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaCancelDisplayVideo360AdvertiserLinkProposalRequest"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "create": {
              "description": "Creates a DisplayVideo360AdvertiserLinkProposal.",
              "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/displayVideo360AdvertiserLinkProposals",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "delete": {
              "description": "Deletes a DisplayVideo360AdvertiserLinkProposal on a property. This can only be used on cancelled proposals.",
              "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals/{displayVideo360AdvertiserLinkProposalsId}",
              "httpMethod": "DELETE",
              "id": "analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the DisplayVideo360AdvertiserLinkProposal to delete. Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/displayVideo360AdvertiserLinkProposals/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "get": {
              "description": "Lookup for a single DisplayVideo360AdvertiserLinkProposal.",
              "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals/{displayVideo360AdvertiserLinkProposalsId}",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the DisplayVideo360AdvertiserLinkProposal to get. Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/displayVideo360AdvertiserLinkProposals/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "list": {
              "description": "Lists DisplayVideo360AdvertiserLinkProposals on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "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).",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "A page token, received from a previous `ListDisplayVideo360AdvertiserLinkProposals` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDisplayVideo360AdvertiserLinkProposals` must match the call that provided the page token.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/displayVideo360AdvertiserLinkProposals",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaListDisplayVideo360AdvertiserLinkProposalsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            }
          }
        },
        "displayVideo360AdvertiserLinks": {
          "methods": {
            "create": {
              "description": "Creates a DisplayVideo360AdvertiserLink. This can only be utilized by users who have proper authorization both on the Google Analytics property and on the Display & Video 360 advertiser. Users who do not have access to the Display & Video 360 advertiser should instead seek to create a DisplayVideo360LinkProposal.",
              "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.displayVideo360AdvertiserLinks.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/displayVideo360AdvertiserLinks",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "delete": {
              "description": "Deletes a DisplayVideo360AdvertiserLink on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks/{displayVideo360AdvertiserLinksId}",
              "httpMethod": "DELETE",
              "id": "analyticsadmin.properties.displayVideo360AdvertiserLinks.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the DisplayVideo360AdvertiserLink to delete. Example format: properties/1234/displayVideo360AdvertiserLinks/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/displayVideo360AdvertiserLinks/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "get": {
              "description": "Look up a single DisplayVideo360AdvertiserLink",
              "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks/{displayVideo360AdvertiserLinksId}",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.displayVideo360AdvertiserLinks.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the DisplayVideo360AdvertiserLink to get. Example format: properties/1234/displayVideo360AdvertiserLink/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/displayVideo360AdvertiserLinks/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "list": {
              "description": "Lists all DisplayVideo360AdvertiserLinks on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.displayVideo360AdvertiserLinks.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "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).",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "A page token, received from a previous `ListDisplayVideo360AdvertiserLinks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDisplayVideo360AdvertiserLinks` must match the call that provided the page token.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/displayVideo360AdvertiserLinks",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaListDisplayVideo360AdvertiserLinksResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "patch": {
              "description": "Updates a DisplayVideo360AdvertiserLink on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks/{displayVideo360AdvertiserLinksId}",
              "httpMethod": "PATCH",
              "id": "analyticsadmin.properties.displayVideo360AdvertiserLinks.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Output only. The resource name for this DisplayVideo360AdvertiserLink resource. Format: properties/{propertyId}/displayVideo360AdvertiserLinks/{linkId} Note: linkId is not the Display & Video 360 Advertiser ID",
                  "location": "path",
                  "pattern": "^properties/[^/]+/displayVideo360AdvertiserLinks/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "updateMask": {
                  "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",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            }
          }
        },
        "expandedDataSets": {
          "methods": {
            "create": {
              "description": "Creates a ExpandedDataSet.",
              "flatPath": "v1alpha/properties/{propertiesId}/expandedDataSets",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.expandedDataSets.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/expandedDataSets",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSet"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSet"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "delete": {
              "description": "Deletes a ExpandedDataSet on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/expandedDataSets/{expandedDataSetsId}",
              "httpMethod": "DELETE",
              "id": "analyticsadmin.properties.expandedDataSets.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. Example format: properties/1234/expandedDataSets/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/expandedDataSets/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "get": {
              "description": "Lookup for a single ExpandedDataSet.",
              "flatPath": "v1alpha/properties/{propertiesId}/expandedDataSets/{expandedDataSetsId}",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.expandedDataSets.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the Audience to get. Example format: properties/1234/expandedDataSets/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/expandedDataSets/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSet"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "list": {
              "description": "Lists ExpandedDataSets on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/expandedDataSets",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.expandedDataSets.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "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).",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "A page token, received from a previous `ListExpandedDataSets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListExpandedDataSet` must match the call that provided the page token.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/expandedDataSets",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaListExpandedDataSetsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "patch": {
              "description": "Updates a ExpandedDataSet on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/expandedDataSets/{expandedDataSetsId}",
              "httpMethod": "PATCH",
              "id": "analyticsadmin.properties.expandedDataSets.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Output only. The resource name for this ExpandedDataSet resource. Format: properties/{property_id}/expandedDataSets/{expanded_data_set}",
                  "location": "path",
                  "pattern": "^properties/[^/]+/expandedDataSets/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "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"
                }
              },
              "path": "v1alpha/{+name}",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSet"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSet"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            }
          }
        },
        "firebaseLinks": {
          "methods": {
            "create": {
              "description": "Creates a FirebaseLink. Properties can have at most one FirebaseLink.",
              "flatPath": "v1alpha/properties/{propertiesId}/firebaseLinks",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.firebaseLinks.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. Format: properties/{property_id} Example: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/firebaseLinks",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaFirebaseLink"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaFirebaseLink"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "delete": {
              "description": "Deletes a FirebaseLink on a property",
              "flatPath": "v1alpha/properties/{propertiesId}/firebaseLinks/{firebaseLinksId}",
              "httpMethod": "DELETE",
              "id": "analyticsadmin.properties.firebaseLinks.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. Format: properties/{property_id}/firebaseLinks/{firebase_link_id} Example: properties/1234/firebaseLinks/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/firebaseLinks/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "list": {
              "description": "Lists FirebaseLinks on a property. Properties can have at most one FirebaseLink.",
              "flatPath": "v1alpha/properties/{propertiesId}/firebaseLinks",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.firebaseLinks.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageSize": {
                  "description": "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)",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "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.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. Format: properties/{property_id} Example: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/firebaseLinks",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaListFirebaseLinksResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            }
          }
        },
        "googleAdsLinks": {
          "methods": {
            "create": {
              "description": "Creates a GoogleAdsLink.",
              "flatPath": "v1alpha/properties/{propertiesId}/googleAdsLinks",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.googleAdsLinks.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/googleAdsLinks",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaGoogleAdsLink"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaGoogleAdsLink"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "delete": {
              "description": "Deletes a GoogleAdsLink on a property",
              "flatPath": "v1alpha/properties/{propertiesId}/googleAdsLinks/{googleAdsLinksId}",
              "httpMethod": "DELETE",
              "id": "analyticsadmin.properties.googleAdsLinks.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. Example format: properties/1234/googleAdsLinks/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/googleAdsLinks/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "list": {
              "description": "Lists GoogleAdsLinks on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/googleAdsLinks",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.googleAdsLinks.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "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).",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "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.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/googleAdsLinks",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaListGoogleAdsLinksResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "patch": {
              "description": "Updates a GoogleAdsLink on a property",
              "flatPath": "v1alpha/properties/{propertiesId}/googleAdsLinks/{googleAdsLinksId}",
              "httpMethod": "PATCH",
              "id": "analyticsadmin.properties.googleAdsLinks.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Output only. Format: properties/{propertyId}/googleAdsLinks/{googleAdsLinkId} Note: googleAdsLinkId is not the Google Ads customer ID.",
                  "location": "path",
                  "pattern": "^properties/[^/]+/googleAdsLinks/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "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"
                }
              },
              "path": "v1alpha/{+name}",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaGoogleAdsLink"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaGoogleAdsLink"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            }
          }
        },
        "searchAds360Links": {
          "methods": {
            "create": {
              "description": "Creates a SearchAds360Link.",
              "flatPath": "v1alpha/properties/{propertiesId}/searchAds360Links",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.searchAds360Links.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/searchAds360Links",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaSearchAds360Link"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaSearchAds360Link"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "delete": {
              "description": "Deletes a SearchAds360Link on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/searchAds360Links/{searchAds360LinksId}",
              "httpMethod": "DELETE",
              "id": "analyticsadmin.properties.searchAds360Links.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the SearchAds360Link to delete. Example format: properties/1234/SearchAds360Links/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/searchAds360Links/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "get": {
              "description": "Look up a single SearchAds360Link",
              "flatPath": "v1alpha/properties/{propertiesId}/searchAds360Links/{searchAds360LinksId}",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.searchAds360Links.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The name of the SearchAds360Link to get. Example format: properties/1234/SearchAds360Link/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/searchAds360Links/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaSearchAds360Link"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "list": {
              "description": "Lists all SearchAds360Links on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/searchAds360Links",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.searchAds360Links.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "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).",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "A page token, received from a previous `ListSearchAds360Links` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSearchAds360Links` must match the call that provided the page token.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. Example format: properties/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/searchAds360Links",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaListSearchAds360LinksResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "patch": {
              "description": "Updates a SearchAds360Link on a property.",
              "flatPath": "v1alpha/properties/{propertiesId}/searchAds360Links/{searchAds360LinksId}",
              "httpMethod": "PATCH",
              "id": "analyticsadmin.properties.searchAds360Links.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Output only. The resource name for this SearchAds360Link resource. Format: properties/{propertyId}/searchAds360Links/{linkId} Note: linkId is not the Search Ads 360 advertiser ID",
                  "location": "path",
                  "pattern": "^properties/[^/]+/searchAds360Links/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "updateMask": {
                  "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",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaSearchAds360Link"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaSearchAds360Link"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            }
          }
        },
        "userLinks": {
          "methods": {
            "audit": {
              "description": "Lists all user links on an account or property, including implicit ones that come from effective permissions granted by groups or organization admin roles. If a returned user link does not have direct permissions, they cannot be removed from the account or property directly with the DeleteUserLink command. They have to be removed from the group/etc that gives them permissions, which is currently only usable/discoverable in the GA or GMP UIs.",
              "flatPath": "v1alpha/properties/{propertiesId}/userLinks:audit",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.userLinks.audit",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. Example format: accounts/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/userLinks:audit",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaAuditUserLinksRequest"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaAuditUserLinksResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users",
                "https://www.googleapis.com/auth/analytics.manage.users.readonly"
              ]
            },
            "batchCreate": {
              "description": "Creates information about multiple users' links to an account or property. This method is transactional. If any UserLink cannot be created, none of the UserLinks will be created.",
              "flatPath": "v1alpha/properties/{propertiesId}/userLinks:batchCreate",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.userLinks.batchCreate",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The account or property that all user links in the request are for. This field is required. The parent field in the CreateUserLinkRequest messages must either be empty or match this field. Example format: accounts/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/userLinks:batchCreate",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchCreateUserLinksRequest"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchCreateUserLinksResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "batchDelete": {
              "description": "Deletes information about multiple users' links to an account or property.",
              "flatPath": "v1alpha/properties/{propertiesId}/userLinks:batchDelete",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.userLinks.batchDelete",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The account or property that all user links in the request are for. The parent of all values for user link names to delete must match this field. Example format: accounts/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/userLinks:batchDelete",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchDeleteUserLinksRequest"
              },
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "batchGet": {
              "description": "Gets information about multiple users' links to an account or property.",
              "flatPath": "v1alpha/properties/{propertiesId}/userLinks:batchGet",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.userLinks.batchGet",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "names": {
                  "description": "Required. The names of the user links to retrieve. A maximum of 1000 user links can be retrieved in a batch. Format: accounts/{accountId}/userLinks/{userLinkId}",
                  "location": "query",
                  "repeated": true,
                  "type": "string"
                },
                "parent": {
                  "description": "Required. The account or property that all user links in the request are for. The parent of all provided values for the 'names' field must match this field. Example format: accounts/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/userLinks:batchGet",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchGetUserLinksResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users",
                "https://www.googleapis.com/auth/analytics.manage.users.readonly"
              ]
            },
            "batchUpdate": {
              "description": "Updates information about multiple users' links to an account or property.",
              "flatPath": "v1alpha/properties/{propertiesId}/userLinks:batchUpdate",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.userLinks.batchUpdate",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The account or property that all user links in the request are for. The parent field in the UpdateUserLinkRequest messages must either be empty or match this field. Example format: accounts/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/userLinks:batchUpdate",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchUpdateUserLinksRequest"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaBatchUpdateUserLinksResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "create": {
              "description": "Creates a user link on an account or property. If the user with the specified email already has permissions on the account or property, then the user's existing permissions will be unioned with the permissions specified in the new UserLink.",
              "flatPath": "v1alpha/properties/{propertiesId}/userLinks",
              "httpMethod": "POST",
              "id": "analyticsadmin.properties.userLinks.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "notifyNewUser": {
                  "description": "Optional. If set, then email the new user notifying them that they've been granted permissions to the resource.",
                  "location": "query",
                  "type": "boolean"
                },
                "parent": {
                  "description": "Required. Example format: accounts/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/userLinks",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaUserLink"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaUserLink"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "delete": {
              "description": "Deletes a user link on an account or property.",
              "flatPath": "v1alpha/properties/{propertiesId}/userLinks/{userLinksId}",
              "httpMethod": "DELETE",
              "id": "analyticsadmin.properties.userLinks.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. Example format: accounts/1234/userLinks/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/userLinks/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "get": {
              "description": "Gets information about a user's link to an account or property.",
              "flatPath": "v1alpha/properties/{propertiesId}/userLinks/{userLinksId}",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.userLinks.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. Example format: accounts/1234/userLinks/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/userLinks/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaUserLink"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users",
                "https://www.googleapis.com/auth/analytics.manage.users.readonly"
              ]
            },
            "list": {
              "description": "Lists all user links on an account or property.",
              "flatPath": "v1alpha/properties/{propertiesId}/userLinks",
              "httpMethod": "GET",
              "id": "analyticsadmin.properties.userLinks.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageSize": {
                  "description": "The maximum number of user links to return. The service may return fewer than this value. If unspecified, at most 200 user links will be returned. The maximum value is 500; values above 500 will be coerced to 500.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "A page token, received from a previous `ListUserLinks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUserLinks` must match the call that provided the page token.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. Example format: accounts/1234",
                  "location": "path",
                  "pattern": "^properties/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+parent}/userLinks",
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaListUserLinksResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users",
                "https://www.googleapis.com/auth/analytics.manage.users.readonly"
              ]
            },
            "patch": {
              "description": "Updates a user link on an account or property.",
              "flatPath": "v1alpha/properties/{propertiesId}/userLinks/{userLinksId}",
              "httpMethod": "PATCH",
              "id": "analyticsadmin.properties.userLinks.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Output only. Example format: properties/1234/userLinks/5678",
                  "location": "path",
                  "pattern": "^properties/[^/]+/userLinks/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1alpha/{+name}",
              "request": {
                "$ref": "GoogleAnalyticsAdminV1alphaUserLink"
              },
              "response": {
                "$ref": "GoogleAnalyticsAdminV1alphaUserLink"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            }
          }
        }
      }
    }
  },
  "revision": "20230319",
  "rootUrl": "https://analyticsadmin.googleapis.com/",
  "schemas": {
    "GoogleAnalyticsAdminV1alphaAccessBetweenFilter": {
      "description": "To express that the result needs to be between two numbers (inclusive).",
      "id": "GoogleAnalyticsAdminV1alphaAccessBetweenFilter",
      "properties": {
        "fromValue": {
          "$ref": "GoogleAnalyticsAdminV1alphaNumericValue",
          "description": "Begins with this number."
        },
        "toValue": {
          "$ref": "GoogleAnalyticsAdminV1alphaNumericValue",
          "description": "Ends with this number."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessBinding": {
      "description": "A binding of a user to a set of roles.",
      "id": "GoogleAnalyticsAdminV1alphaAccessBinding",
      "properties": {
        "name": {
          "description": "Output only. Resource name of this binding. Format: accounts/{account}/accessBindings/{access_binding} or properties/{property}/accessBindings/{access_binding} Example: \"accounts/100/accessBindings/200\"",
          "readOnly": true,
          "type": "string"
        },
        "roles": {
          "description": "A list of roles for to grant to the parent resource. Valid values: predefinedRoles/viewer predefinedRoles/analyst predefinedRoles/editor predefinedRoles/admin predefinedRoles/no-cost-data predefinedRoles/no-revenue-data For users, if an empty list of roles is set, this AccessBinding will be deleted.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "user": {
          "description": "If set, the email address of the user to set roles for. Format: \"someuser@gmail.com\"",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessDateRange": {
      "description": "A contiguous range of days: startDate, startDate + 1, ..., endDate.",
      "id": "GoogleAnalyticsAdminV1alphaAccessDateRange",
      "properties": {
        "endDate": {
          "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.",
          "type": "string"
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessDimension": {
      "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.",
      "id": "GoogleAnalyticsAdminV1alphaAccessDimension",
      "properties": {
        "dimensionName": {
          "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`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessDimensionHeader": {
      "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": "GoogleAnalyticsAdminV1alphaAccessDimensionHeader",
      "properties": {
        "dimensionName": {
          "description": "The dimension's name; for example 'userEmail'.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessDimensionValue": {
      "description": "The value of a dimension.",
      "id": "GoogleAnalyticsAdminV1alphaAccessDimensionValue",
      "properties": {
        "value": {
          "description": "The dimension value. For example, this value may be 'France' for the 'country' dimension.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessFilter": {
      "description": "An expression to filter dimension or metric values.",
      "id": "GoogleAnalyticsAdminV1alphaAccessFilter",
      "properties": {
        "betweenFilter": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessBetweenFilter",
          "description": "A filter for two values."
        },
        "fieldName": {
          "description": "The dimension name or metric name.",
          "type": "string"
        },
        "inListFilter": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessInListFilter",
          "description": "A filter for in list values."
        },
        "numericFilter": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessNumericFilter",
          "description": "A filter for numeric or date values."
        },
        "stringFilter": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessStringFilter",
          "description": "Strings related filter."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessFilterExpression": {
      "description": "Expresses dimension or metric filters. The fields in the same expression need to be either all dimensions or all metrics.",
      "id": "GoogleAnalyticsAdminV1alphaAccessFilterExpression",
      "properties": {
        "accessFilter": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessFilter",
          "description": "A primitive filter. In the same FilterExpression, all of the filter's field names need to be either all dimensions or all metrics."
        },
        "andGroup": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpressionList",
          "description": "Each of the FilterExpressions in the and_group has an AND relationship."
        },
        "notExpression": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpression",
          "description": "The FilterExpression is NOT of not_expression."
        },
        "orGroup": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpressionList",
          "description": "Each of the FilterExpressions in the or_group has an OR relationship."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessFilterExpressionList": {
      "description": "A list of filter expressions.",
      "id": "GoogleAnalyticsAdminV1alphaAccessFilterExpressionList",
      "properties": {
        "expressions": {
          "description": "A list of filter expressions.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpression"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessInListFilter": {
      "description": "The result needs to be in a list of string values.",
      "id": "GoogleAnalyticsAdminV1alphaAccessInListFilter",
      "properties": {
        "caseSensitive": {
          "description": "If true, the string value is case sensitive.",
          "type": "boolean"
        },
        "values": {
          "description": "The list of string values. Must be non-empty.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessMetric": {
      "description": "The quantitative measurements of a report. For example, the metric `accessCount` is the total number of data access records.",
      "id": "GoogleAnalyticsAdminV1alphaAccessMetric",
      "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"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessMetricHeader": {
      "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.",
      "id": "GoogleAnalyticsAdminV1alphaAccessMetricHeader",
      "properties": {
        "metricName": {
          "description": "The metric's name; for example 'accessCount'.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessMetricValue": {
      "description": "The value of a metric.",
      "id": "GoogleAnalyticsAdminV1alphaAccessMetricValue",
      "properties": {
        "value": {
          "description": "The measurement value. For example, this value may be '13'.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessNumericFilter": {
      "description": "Filters for numeric or date values.",
      "id": "GoogleAnalyticsAdminV1alphaAccessNumericFilter",
      "properties": {
        "operation": {
          "description": "The operation type for this filter.",
          "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"
          ],
          "type": "string"
        },
        "value": {
          "$ref": "GoogleAnalyticsAdminV1alphaNumericValue",
          "description": "A numeric value or a date value."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessOrderBy": {
      "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.",
      "id": "GoogleAnalyticsAdminV1alphaAccessOrderBy",
      "properties": {
        "desc": {
          "description": "If true, sorts by descending order. If false or unspecified, sorts in ascending order.",
          "type": "boolean"
        },
        "dimension": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessOrderByDimensionOrderBy",
          "description": "Sorts results by a dimension's values."
        },
        "metric": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessOrderByMetricOrderBy",
          "description": "Sorts results by a metric's values."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessOrderByDimensionOrderBy": {
      "description": "Sorts by dimension values.",
      "id": "GoogleAnalyticsAdminV1alphaAccessOrderByDimensionOrderBy",
      "properties": {
        "dimensionName": {
          "description": "A dimension name in the request to order by.",
          "type": "string"
        },
        "orderType": {
          "description": "Controls the rule for dimension value ordering.",
          "enum": [
            "ORDER_TYPE_UNSPECIFIED",
            "ALPHANUMERIC",
            "CASE_INSENSITIVE_ALPHANUMERIC",
            "NUMERIC"
          ],
          "enumDescriptions": [
            "Unspecified.",
            "Alphanumeric sort by Unicode code point. For example, \"2\" < \"A\" < \"X\" < \"b\" < \"z\".",
            "Case insensitive alphanumeric sort by lower case Unicode code point. For example, \"2\" < \"A\" < \"b\" < \"X\" < \"z\".",
            "Dimension values are converted to numbers before sorting. For example in NUMERIC sort, \"25\" < \"100\", and in `ALPHANUMERIC` sort, \"100\" < \"25\". Non-numeric dimension values all have equal ordering value below all numeric values."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessOrderByMetricOrderBy": {
      "description": "Sorts by metric values.",
      "id": "GoogleAnalyticsAdminV1alphaAccessOrderByMetricOrderBy",
      "properties": {
        "metricName": {
          "description": "A metric name in the request to order by.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessQuota": {
      "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.",
      "id": "GoogleAnalyticsAdminV1alphaAccessQuota",
      "properties": {
        "concurrentRequests": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus",
          "description": "Properties can use up to 50 concurrent requests."
        },
        "serverErrorsPerProjectPerHour": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus",
          "description": "Properties and cloud project pairs can have up to 50 server errors per hour."
        },
        "tokensPerDay": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus",
          "description": "Properties can use 250,000 tokens per day. Most requests consume fewer than 10 tokens."
        },
        "tokensPerHour": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus",
          "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."
        },
        "tokensPerProjectPerHour": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus",
          "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."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessQuotaStatus": {
      "description": "Current state for a particular quota group.",
      "id": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus",
      "properties": {
        "consumed": {
          "description": "Quota consumed by this request.",
          "format": "int32",
          "type": "integer"
        },
        "remaining": {
          "description": "Quota remaining after this request.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessRow": {
      "description": "Access report data for each row.",
      "id": "GoogleAnalyticsAdminV1alphaAccessRow",
      "properties": {
        "dimensionValues": {
          "description": "List of dimension values. These values are in the same order as specified in the request.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAccessDimensionValue"
          },
          "type": "array"
        },
        "metricValues": {
          "description": "List of metric values. These values are in the same order as specified in the request.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAccessMetricValue"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccessStringFilter": {
      "description": "The filter for strings.",
      "id": "GoogleAnalyticsAdminV1alphaAccessStringFilter",
      "properties": {
        "caseSensitive": {
          "description": "If true, the string value is case sensitive.",
          "type": "boolean"
        },
        "matchType": {
          "description": "The match type for this filter.",
          "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."
          ],
          "type": "string"
        },
        "value": {
          "description": "The string value used for the matching.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccount": {
      "description": "A resource message representing a Google Analytics account.",
      "id": "GoogleAnalyticsAdminV1alphaAccount",
      "properties": {
        "createTime": {
          "description": "Output only. Time when this account was originally created.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "deleted": {
          "description": "Output only. Indicates whether this Account is soft-deleted or not. Deleted accounts are excluded from List results unless specifically requested.",
          "readOnly": true,
          "type": "boolean"
        },
        "displayName": {
          "description": "Required. Human-readable display name for this account.",
          "type": "string"
        },
        "name": {
          "description": "Output only. Resource name of this account. Format: accounts/{account} Example: \"accounts/100\"",
          "readOnly": true,
          "type": "string"
        },
        "regionCode": {
          "description": "Country of business. Must be a Unicode CLDR region code.",
          "type": "string"
        },
        "updateTime": {
          "description": "Output only. Time when account payload fields were last updated.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAccountSummary": {
      "description": "A virtual resource representing an overview of an account and all its child GA4 properties.",
      "id": "GoogleAnalyticsAdminV1alphaAccountSummary",
      "properties": {
        "account": {
          "description": "Resource name of account referred to by this account summary Format: accounts/{account_id} Example: \"accounts/1000\"",
          "type": "string"
        },
        "displayName": {
          "description": "Display name for the account referred to in this account summary.",
          "type": "string"
        },
        "name": {
          "description": "Resource name for this account summary. Format: accountSummaries/{account_id} Example: \"accountSummaries/1000\"",
          "type": "string"
        },
        "propertySummaries": {
          "description": "List of summaries for child accounts of this account.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaPropertySummary"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionRequest": {
      "description": "Request message for AcknowledgeUserDataCollection RPC.",
      "id": "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionRequest",
      "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"
    },
    "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionResponse": {
      "description": "Response message for AcknowledgeUserDataCollection RPC.",
      "id": "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionResponse",
      "properties": {},
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalRequest": {
      "description": "Request message for ApproveDisplayVideo360AdvertiserLinkProposal RPC.",
      "id": "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalRequest",
      "properties": {},
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalResponse": {
      "description": "Response message for ApproveDisplayVideo360AdvertiserLinkProposal RPC.",
      "id": "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalResponse",
      "properties": {
        "displayVideo360AdvertiserLink": {
          "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink",
          "description": "The DisplayVideo360AdvertiserLink created as a result of approving the proposal."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaArchiveAudienceRequest": {
      "description": "Request message for ArchiveAudience RPC.",
      "id": "GoogleAnalyticsAdminV1alphaArchiveAudienceRequest",
      "properties": {},
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaArchiveCustomDimensionRequest": {
      "description": "Request message for ArchiveCustomDimension RPC.",
      "id": "GoogleAnalyticsAdminV1alphaArchiveCustomDimensionRequest",
      "properties": {},
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaArchiveCustomMetricRequest": {
      "description": "Request message for ArchiveCustomMetric RPC.",
      "id": "GoogleAnalyticsAdminV1alphaArchiveCustomMetricRequest",
      "properties": {},
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAttributionSettings": {
      "description": "The attribution settings used for a given property. This is a singleton resource.",
      "id": "GoogleAnalyticsAdminV1alphaAttributionSettings",
      "properties": {
        "acquisitionConversionEventLookbackWindow": {
          "description": "Required. The lookback window configuration for acquisition conversion events. The default window size is 30 days.",
          "enum": [
            "ACQUISITION_CONVERSION_EVENT_LOOKBACK_WINDOW_UNSPECIFIED",
            "ACQUISITION_CONVERSION_EVENT_LOOKBACK_WINDOW_7_DAYS",
            "ACQUISITION_CONVERSION_EVENT_LOOKBACK_WINDOW_30_DAYS"
          ],
          "enumDescriptions": [
            "Lookback window size unspecified.",
            "7-day lookback window.",
            "30-day lookback window."
          ],
          "type": "string"
        },
        "name": {
          "description": "Output only. Resource name of this attribution settings resource. Format: properties/{property_id}/attributionSettings Example: \"properties/1000/attributionSettings\"",
          "readOnly": true,
          "type": "string"
        },
        "otherConversionEventLookbackWindow": {
          "description": "Required. The lookback window for all other, non-acquisition conversion events. The default window size is 90 days.",
          "enum": [
            "OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_UNSPECIFIED",
            "OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_30_DAYS",
            "OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_60_DAYS",
            "OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_90_DAYS"
          ],
          "enumDescriptions": [
            "Lookback window size unspecified.",
            "30-day lookback window.",
            "60-day lookback window.",
            "90-day lookback window."
          ],
          "type": "string"
        },
        "reportingAttributionModel": {
          "description": "Required. The reporting attribution model used to calculate conversion credit in this property's reports. Changing the attribution model will apply to both historical and future data. These changes will be reflected in reports with conversion and revenue data. User and session data will be unaffected.",
          "enum": [
            "REPORTING_ATTRIBUTION_MODEL_UNSPECIFIED",
            "CROSS_CHANNEL_DATA_DRIVEN",
            "CROSS_CHANNEL_LAST_CLICK",
            "CROSS_CHANNEL_FIRST_CLICK",
            "CROSS_CHANNEL_LINEAR",
            "CROSS_CHANNEL_POSITION_BASED",
            "CROSS_CHANNEL_TIME_DECAY",
            "ADS_PREFERRED_LAST_CLICK"
          ],
          "enumDescriptions": [
            "Reporting attribution model unspecified.",
            "Data-driven attribution distributes credit for the conversion based on data for each conversion event. Each Data-driven model is specific to each advertiser and each conversion event.",
            "Ignores direct traffic and attributes 100% of the conversion value to the last channel that the customer clicked through (or engaged view through for YouTube) before converting.",
            "Gives all credit for the conversion to the first channel that a customer clicked (or engaged view through for YouTube) before converting.",
            "Distributes the credit for the conversion equally across all the channels a customer clicked (or engaged view through for YouTube) before converting.",
            "Attributes 40% credit to the first and last interaction, and the remaining 20% credit is distributed evenly to the middle interactions.",
            "Gives more credit to the touchpoints that happened closer in time to the conversion.",
            "Attributes 100% of the conversion value to the last Google Ads channel that the customer clicked through before converting."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAudience": {
      "description": "A resource message representing a GA4 Audience.",
      "id": "GoogleAnalyticsAdminV1alphaAudience",
      "properties": {
        "adsPersonalizationEnabled": {
          "description": "Output only. It is automatically set by GA to false if this is an NPA Audience and is excluded from ads personalization.",
          "readOnly": true,
          "type": "boolean"
        },
        "description": {
          "description": "Required. The description of the Audience.",
          "type": "string"
        },
        "displayName": {
          "description": "Required. The display name of the Audience.",
          "type": "string"
        },
        "eventTrigger": {
          "$ref": "GoogleAnalyticsAdminV1alphaAudienceEventTrigger",
          "description": "Optional. Specifies an event to log when a user joins the Audience. If not set, no event is logged when a user joins the Audience."
        },
        "exclusionDurationMode": {
          "description": "Immutable. Specifies how long an exclusion lasts for users that meet the exclusion filter. It is applied to all EXCLUDE filter clauses and is ignored when there is no EXCLUDE filter clause in the Audience.",
          "enum": [
            "AUDIENCE_EXCLUSION_DURATION_MODE_UNSPECIFIED",
            "EXCLUDE_TEMPORARILY",
            "EXCLUDE_PERMANENTLY"
          ],
          "enumDescriptions": [
            "Not specified.",
            "Exclude users from the Audience during periods when they meet the filter clause.",
            "Exclude users from the Audience if they've ever met the filter clause."
          ],
          "type": "string"
        },
        "filterClauses": {
          "description": "Required. Immutable. Unordered list. Filter clauses that define the Audience. All clauses will be AND\u2019ed together.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterClause"
          },
          "type": "array"
        },
        "membershipDurationDays": {
          "description": "Required. Immutable. The duration a user should stay in an Audience. It cannot be set to more than 540 days.",
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "description": "Output only. The resource name for this Audience resource. Format: properties/{propertyId}/audiences/{audienceId}",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilter": {
      "description": "A specific filter for a single dimension or metric.",
      "id": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilter",
      "properties": {
        "atAnyPointInTime": {
          "description": "Optional. Indicates whether this filter needs dynamic evaluation or not. If set to true, users join the Audience if they ever met the condition (static evaluation). If unset or set to false, user evaluation for an Audience is dynamic; users are added to an Audience when they meet the conditions and then removed when they no longer meet them. This can only be set when Audience scope is ACROSS_ALL_SESSIONS.",
          "type": "boolean"
        },
        "betweenFilter": {
          "$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterBetweenFilter",
          "description": "A filter for numeric or date values between certain values on a dimension or metric."
        },
        "fieldName": {
          "description": "Required. Immutable. The dimension name or metric name to filter.",
          "type": "string"
        },
        "inAnyNDayPeriod": {
          "description": "Optional. If set, specifies the time window for which to evaluate data in number of days. If not set, then audience data is evaluated against lifetime data (i.e., infinite time window). For example, if set to 1 day, only the current day's data is evaluated. The reference point is the current day when at_any_point_in_time is unset or false. It can only be set when Audience scope is ACROSS_ALL_SESSIONS and cannot be greater than 60 days.",
          "format": "int32",
          "type": "integer"
        },
        "inListFilter": {
          "$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterInListFilter",
          "description": "A filter for a string dimension that matches a particular list of options."
        },
        "numericFilter": {
          "$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericFilter",
          "description": "A filter for numeric or date values on a dimension or metric."
        },
        "stringFilter": {
          "$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterStringFilter",
          "description": "A filter for a string-type dimension that matches a particular pattern."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterBetweenFilter": {
      "description": "A filter for numeric or date values between certain values on a dimension or metric.",
      "id": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterBetweenFilter",
      "properties": {
        "fromValue": {
          "$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericValue",
          "description": "Required. Begins with this number, inclusive."
        },
        "toValue": {
          "$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericValue",
          "description": "Required. Ends with this number, inclusive."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterInListFilter": {
      "description": "A filter for a string dimension that matches a particular list of options.",
      "id": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterInListFilter",
      "properties": {
        "caseSensitive": {
          "description": "Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.",
          "type": "boolean"
        },
        "values": {
          "description": "Required. The list of possible string values to match against. Must be non-empty.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericFilter": {
      "description": "A filter for numeric or date values on a dimension or metric.",
      "id": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericFilter",
      "properties": {
        "operation": {
          "description": "Required. The operation applied to a numeric filter.",
          "enum": [
            "OPERATION_UNSPECIFIED",
            "EQUAL",
            "LESS_THAN",
            "GREATER_THAN"
          ],
          "enumDescriptions": [
            "Unspecified.",
            "Equal.",
            "Less than.",
            "Greater than."
          ],
          "type": "string"
        },
        "value": {
          "$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericValue",
          "description": "Required. The numeric or date value to match against."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericValue": {
      "description": "To represent a number.",
      "id": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericValue",
      "properties": {
        "doubleValue": {
          "description": "Double value.",
          "format": "double",
          "type": "number"
        },
        "int64Value": {
          "description": "Integer value.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterStringFilter": {
      "description": "A filter for a string-type dimension that matches a particular pattern.",
      "id": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterStringFilter",
      "properties": {
        "caseSensitive": {
          "description": "Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.",
          "type": "boolean"
        },
        "matchType": {
          "description": "Required. The match type for the string filter.",
          "enum": [
            "MATCH_TYPE_UNSPECIFIED",
            "EXACT",
            "BEGINS_WITH",
            "ENDS_WITH",
            "CONTAINS",
            "FULL_REGEXP"
          ],
          "enumDescriptions": [
            "Unspecified",
            "Exact match of the string value.",
            "Begins with the string value.",
            "Ends with the string value.",
            "Contains the string value.",
            "Full regular expression matches with the string value."
          ],
          "type": "string"
        },
        "value": {
          "description": "Required. The string value to be matched against.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAudienceEventFilter": {
      "description": "A filter that matches events of a single event name. If an event parameter is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter.",
      "id": "GoogleAnalyticsAdminV1alphaAudienceEventFilter",
      "properties": {
        "eventName": {
          "description": "Required. Immutable. The name of the event to match against.",
          "type": "string"
        },
        "eventParameterFilterExpression": {
          "$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpression",
          "description": "Optional. If specified, this filter matches events that match both the single event name and the parameter filter expressions. AudienceEventFilter inside the parameter filter expression cannot be set (i.e., nested event filters are not supported). This should be a single and_group of dimension_or_metric_filter or not_expression; ANDs of ORs are not supported. Also, if it includes a filter for \"eventCount\", only that one will be considered; all the other filters will be ignored."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAudienceEventTrigger": {
      "description": "Specifies an event to log when a user joins the Audience.",
      "id": "GoogleAnalyticsAdminV1alphaAudienceEventTrigger",
      "properties": {
        "eventName": {
          "description": "Required. The event name that will be logged.",
          "type": "string"
        },
        "logCondition": {
          "description": "Required. When to log the event.",
          "enum": [
            "LOG_CONDITION_UNSPECIFIED",
            "AUDIENCE_JOINED",
            "AUDIENCE_MEMBERSHIP_RENEWED"
          ],
          "enumDescriptions": [
            "Log condition is not specified.",
            "The event should be logged only when a user is joined.",
            "The event should be logged whenever the Audience condition is met, even if the user is already a member of the Audience."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAudienceFilterClause": {
      "description": "A clause for defining either a simple or sequence filter. A filter can be inclusive (i.e., users satisfying the filter clause are included in the Audience) or exclusive (i.e., users satisfying the filter clause are excluded from the Audience).",
      "id": "GoogleAnalyticsAdminV1alphaAudienceFilterClause",
      "properties": {
        "clauseType": {
          "description": "Required. Specifies whether this is an include or exclude filter clause.",
          "enum": [
            "AUDIENCE_CLAUSE_TYPE_UNSPECIFIED",
            "INCLUDE",
            "EXCLUDE"
          ],
          "enumDescriptions": [
            "Unspecified clause type.",
            "Users will be included in the Audience if the filter clause is met.",
            "Users will be excluded from the Audience if the filter clause is met."
          ],
          "type": "string"
        },
        "sequenceFilter": {
          "$ref": "GoogleAnalyticsAdminV1alphaAudienceSequenceFilter",
          "description": "Filters that must occur in a specific order for the user to be a member of the Audience."
        },
        "simpleFilter": {
          "$ref": "GoogleAnalyticsAdminV1alphaAudienceSimpleFilter",
          "description": "A simple filter that a user must satisfy to be a member of the Audience."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAudienceFilterExpression": {
      "description": "A logical expression of Audience dimension, metric, or event filters.",
      "id": "GoogleAnalyticsAdminV1alphaAudienceFilterExpression",
      "properties": {
        "andGroup": {
          "$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpressionList",
          "description": "A list of expressions to be AND\u2019ed together. It can only contain AudienceFilterExpressions with or_group. This must be set for the top level AudienceFilterExpression."
        },
        "dimensionOrMetricFilter": {
          "$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilter",
          "description": "A filter on a single dimension or metric. This cannot be set on the top level AudienceFilterExpression."
        },
        "eventFilter": {
          "$ref": "GoogleAnalyticsAdminV1alphaAudienceEventFilter",
          "description": "Creates a filter that matches a specific event. This cannot be set on the top level AudienceFilterExpression."
        },
        "notExpression": {
          "$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpression",
          "description": "A filter expression to be NOT'ed (i.e., inverted, complemented). It can only include a dimension_or_metric_filter. This cannot be set on the top level AudienceFilterExpression."
        },
        "orGroup": {
          "$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpressionList",
          "description": "A list of expressions to OR\u2019ed together. It cannot contain AudienceFilterExpressions with and_group or or_group."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAudienceFilterExpressionList": {
      "description": "A list of Audience filter expressions.",
      "id": "GoogleAnalyticsAdminV1alphaAudienceFilterExpressionList",
      "properties": {
        "filterExpressions": {
          "description": "A list of Audience filter expressions.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpression"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAudienceSequenceFilter": {
      "description": "Defines filters that must occur in a specific order for the user to be a member of the Audience.",
      "id": "GoogleAnalyticsAdminV1alphaAudienceSequenceFilter",
      "properties": {
        "scope": {
          "description": "Required. Immutable. Specifies the scope for this filter.",
          "enum": [
            "AUDIENCE_FILTER_SCOPE_UNSPECIFIED",
            "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_EVENT",
            "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_SESSION",
            "AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS"
          ],
          "enumDescriptions": [
            "Scope is not specified.",
            "User joins the Audience if the filter condition is met within one event.",
            "User joins the Audience if the filter condition is met within one session.",
            "User joins the Audience if the filter condition is met by any event across any session."
          ],
          "type": "string"
        },
        "sequenceMaximumDuration": {
          "description": "Optional. Defines the time period in which the whole sequence must occur.",
          "format": "google-duration",
          "type": "string"
        },
        "sequenceSteps": {
          "description": "Required. An ordered sequence of steps. A user must complete each step in order to join the sequence filter.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAudienceSequenceFilterAudienceSequenceStep"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAudienceSequenceFilterAudienceSequenceStep": {
      "description": "A condition that must occur in the specified step order for this user to match the sequence.",
      "id": "GoogleAnalyticsAdminV1alphaAudienceSequenceFilterAudienceSequenceStep",
      "properties": {
        "constraintDuration": {
          "description": "Optional. When set, this step must be satisfied within the constraint_duration of the previous step (i.e., t[i] - t[i-1] <= constraint_duration). If not set, there is no duration requirement (the duration is effectively unlimited). It is ignored for the first step.",
          "format": "google-duration",
          "type": "string"
        },
        "filterExpression": {
          "$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpression",
          "description": "Required. Immutable. A logical expression of Audience dimension, metric, or event filters in each step."
        },
        "immediatelyFollows": {
          "description": "Optional. If true, the event satisfying this step must be the very next event after the event satisfying the last step. If unset or false, this step indirectly follows the prior step; for example, there may be events between the prior step and this step. It is ignored for the first step.",
          "type": "boolean"
        },
        "scope": {
          "description": "Required. Immutable. Specifies the scope for this step.",
          "enum": [
            "AUDIENCE_FILTER_SCOPE_UNSPECIFIED",
            "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_EVENT",
            "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_SESSION",
            "AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS"
          ],
          "enumDescriptions": [
            "Scope is not specified.",
            "User joins the Audience if the filter condition is met within one event.",
            "User joins the Audience if the filter condition is met within one session.",
            "User joins the Audience if the filter condition is met by any event across any session."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAudienceSimpleFilter": {
      "description": "Defines a simple filter that a user must satisfy to be a member of the Audience.",
      "id": "GoogleAnalyticsAdminV1alphaAudienceSimpleFilter",
      "properties": {
        "filterExpression": {
          "$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpression",
          "description": "Required. Immutable. A logical expression of Audience dimension, metric, or event filters."
        },
        "scope": {
          "description": "Required. Immutable. Specifies the scope for this filter.",
          "enum": [
            "AUDIENCE_FILTER_SCOPE_UNSPECIFIED",
            "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_EVENT",
            "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_SESSION",
            "AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS"
          ],
          "enumDescriptions": [
            "Scope is not specified.",
            "User joins the Audience if the filter condition is met within one event.",
            "User joins the Audience if the filter condition is met within one session.",
            "User joins the Audience if the filter condition is met by any event across any session."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAuditUserLink": {
      "description": "Read-only resource used to summarize a principal's effective roles.",
      "id": "GoogleAnalyticsAdminV1alphaAuditUserLink",
      "properties": {
        "directRoles": {
          "description": "Roles directly assigned to this user for this entity. Format: predefinedRoles/viewer Excludes roles that are inherited from an account (if this is for a property), group, or organization admin role.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "effectiveRoles": {
          "description": "Union of all permissions a user has at this account or property (includes direct permissions, group-inherited permissions, etc.). Format: predefinedRoles/viewer",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "emailAddress": {
          "description": "Email address of the linked user",
          "type": "string"
        },
        "name": {
          "description": "Example format: properties/1234/userLinks/5678",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAuditUserLinksRequest": {
      "description": "Request message for AuditUserLinks RPC.",
      "id": "GoogleAnalyticsAdminV1alphaAuditUserLinksRequest",
      "properties": {
        "pageSize": {
          "description": "The maximum number of user links to return. The service may return fewer than this value. If unspecified, at most 1000 user links will be returned. The maximum value is 5000; values above 5000 will be coerced to 5000.",
          "format": "int32",
          "type": "integer"
        },
        "pageToken": {
          "description": "A page token, received from a previous `AuditUserLinks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `AuditUserLinks` must match the call that provided the page token.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaAuditUserLinksResponse": {
      "description": "Response message for AuditUserLinks RPC.",
      "id": "GoogleAnalyticsAdminV1alphaAuditUserLinksResponse",
      "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"
        },
        "userLinks": {
          "description": "List of AuditUserLinks. These will be ordered stably, but in an arbitrary order.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAuditUserLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaBatchCreateAccessBindingsRequest": {
      "description": "Request message for BatchCreateAccessBindings RPC.",
      "id": "GoogleAnalyticsAdminV1alphaBatchCreateAccessBindingsRequest",
      "properties": {
        "requests": {
          "description": "Required. The requests specifying the access bindings to create. A maximum of 1000 access bindings can be created in a batch.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaCreateAccessBindingRequest"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaBatchCreateAccessBindingsResponse": {
      "description": "Response message for BatchCreateAccessBindings RPC.",
      "id": "GoogleAnalyticsAdminV1alphaBatchCreateAccessBindingsResponse",
      "properties": {
        "accessBindings": {
          "description": "The access bindings created.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAccessBinding"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaBatchCreateUserLinksRequest": {
      "description": "Request message for BatchCreateUserLinks RPC.",
      "id": "GoogleAnalyticsAdminV1alphaBatchCreateUserLinksRequest",
      "properties": {
        "notifyNewUsers": {
          "description": "Optional. If set, then email the new users notifying them that they've been granted permissions to the resource. Regardless of whether this is set or not, notify_new_user field inside each individual request is ignored.",
          "type": "boolean"
        },
        "requests": {
          "description": "Required. The requests specifying the user links to create. A maximum of 1000 user links can be created in a batch.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaCreateUserLinkRequest"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaBatchCreateUserLinksResponse": {
      "description": "Response message for BatchCreateUserLinks RPC.",
      "id": "GoogleAnalyticsAdminV1alphaBatchCreateUserLinksResponse",
      "properties": {
        "userLinks": {
          "description": "The user links created.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaUserLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaBatchDeleteAccessBindingsRequest": {
      "description": "Request message for BatchDeleteAccessBindings RPC.",
      "id": "GoogleAnalyticsAdminV1alphaBatchDeleteAccessBindingsRequest",
      "properties": {
        "requests": {
          "description": "Required. The requests specifying the access bindings to delete. A maximum of 1000 access bindings can be deleted in a batch.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaDeleteAccessBindingRequest"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaBatchDeleteUserLinksRequest": {
      "description": "Request message for BatchDeleteUserLinks RPC.",
      "id": "GoogleAnalyticsAdminV1alphaBatchDeleteUserLinksRequest",
      "properties": {
        "requests": {
          "description": "Required. The requests specifying the user links to update. A maximum of 1000 user links can be updated in a batch.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaDeleteUserLinkRequest"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaBatchGetAccessBindingsResponse": {
      "description": "Response message for BatchGetAccessBindings RPC.",
      "id": "GoogleAnalyticsAdminV1alphaBatchGetAccessBindingsResponse",
      "properties": {
        "accessBindings": {
          "description": "The requested access bindings.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAccessBinding"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaBatchGetUserLinksResponse": {
      "description": "Response message for BatchGetUserLinks RPC.",
      "id": "GoogleAnalyticsAdminV1alphaBatchGetUserLinksResponse",
      "properties": {
        "userLinks": {
          "description": "The requested user links.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaUserLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaBatchUpdateAccessBindingsRequest": {
      "description": "Request message for BatchUpdateAccessBindings RPC.",
      "id": "GoogleAnalyticsAdminV1alphaBatchUpdateAccessBindingsRequest",
      "properties": {
        "requests": {
          "description": "Required. The requests specifying the access bindings to update. A maximum of 1000 access bindings can be updated in a batch.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaUpdateAccessBindingRequest"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaBatchUpdateAccessBindingsResponse": {
      "description": "Response message for BatchUpdateAccessBindings RPC.",
      "id": "GoogleAnalyticsAdminV1alphaBatchUpdateAccessBindingsResponse",
      "properties": {
        "accessBindings": {
          "description": "The access bindings updated.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAccessBinding"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaBatchUpdateUserLinksRequest": {
      "description": "Request message for BatchUpdateUserLinks RPC.",
      "id": "GoogleAnalyticsAdminV1alphaBatchUpdateUserLinksRequest",
      "properties": {
        "requests": {
          "description": "Required. The requests specifying the user links to update. A maximum of 1000 user links can be updated in a batch.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaUpdateUserLinkRequest"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaBatchUpdateUserLinksResponse": {
      "description": "Response message for BatchUpdateUserLinks RPC.",
      "id": "GoogleAnalyticsAdminV1alphaBatchUpdateUserLinksResponse",
      "properties": {
        "userLinks": {
          "description": "The user links updated.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaUserLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaBigQueryLink": {
      "description": "A link between a GA4 Property and BigQuery project.",
      "id": "GoogleAnalyticsAdminV1alphaBigQueryLink",
      "properties": {
        "createTime": {
          "description": "Output only. Time when the link was created.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "dailyExportEnabled": {
          "description": "If set true, enables daily data export to the linked Google Cloud project.",
          "type": "boolean"
        },
        "excludedEvents": {
          "description": "The list of event names that will be excluded from exports.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "exportStreams": {
          "description": "The list of streams under the parent property for which data will be exported. Format: properties/{property_id}/dataStreams/{stream_id} Example: ['properties/1000/dataStreams/2000']",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "includeAdvertisingId": {
          "description": "If set true, exported data will include advertising identifiers for mobile app streams.",
          "type": "boolean"
        },
        "intradayExportEnabled": {
          "description": "If set true, enables intraday export to the linked Google Cloud project.",
          "type": "boolean"
        },
        "name": {
          "description": "Output only. Resource name of this BigQuery link. Format: 'properties/{property_id}/bigQueryLinks/{bigquery_link_id}' Format: 'properties/1234/bigQueryLinks/abc567'",
          "readOnly": true,
          "type": "string"
        },
        "project": {
          "description": "Immutable. The linked Google Cloud project. When creating a BigQueryLink, you may provide this resource name using either a project number or project ID. Once this resource has been created, the returned project will always have a project that contains a project number. Format: 'projects/{project number}' Example: 'projects/1234'",
          "type": "string"
        },
        "streamingExportEnabled": {
          "description": "If set true, enables streaming export to the linked Google Cloud project.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaCancelDisplayVideo360AdvertiserLinkProposalRequest": {
      "description": "Request message for CancelDisplayVideo360AdvertiserLinkProposal RPC.",
      "id": "GoogleAnalyticsAdminV1alphaCancelDisplayVideo360AdvertiserLinkProposalRequest",
      "properties": {},
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaChangeHistoryChange": {
      "description": "A description of a change to a single Google Analytics resource.",
      "id": "GoogleAnalyticsAdminV1alphaChangeHistoryChange",
      "properties": {
        "action": {
          "description": "The type of action that changed this resource.",
          "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."
          ],
          "type": "string"
        },
        "resource": {
          "description": "Resource name of the resource whose changes are described by this entry.",
          "type": "string"
        },
        "resourceAfterChange": {
          "$ref": "GoogleAnalyticsAdminV1alphaChangeHistoryChangeChangeHistoryResource",
          "description": "Resource contents from after the change was made. If this resource was deleted in this change, this field will be missing."
        },
        "resourceBeforeChange": {
          "$ref": "GoogleAnalyticsAdminV1alphaChangeHistoryChangeChangeHistoryResource",
          "description": "Resource contents from before the change was made. If this resource was created in this change, this field will be missing."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaChangeHistoryChangeChangeHistoryResource": {
      "description": "A snapshot of a resource as before or after the result of a change in change history.",
      "id": "GoogleAnalyticsAdminV1alphaChangeHistoryChangeChangeHistoryResource",
      "properties": {
        "account": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccount",
          "description": "A snapshot of an Account resource in change history."
        },
        "attributionSettings": {
          "$ref": "GoogleAnalyticsAdminV1alphaAttributionSettings",
          "description": "A snapshot of AttributionSettings resource in change history."
        },
        "bigqueryLink": {
          "$ref": "GoogleAnalyticsAdminV1alphaBigQueryLink",
          "description": "A snapshot of a BigQuery link resource in change history."
        },
        "conversionEvent": {
          "$ref": "GoogleAnalyticsAdminV1alphaConversionEvent",
          "description": "A snapshot of a ConversionEvent resource in change history."
        },
        "customDimension": {
          "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension",
          "description": "A snapshot of a CustomDimension resource in change history."
        },
        "customMetric": {
          "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric",
          "description": "A snapshot of a CustomMetric resource in change history."
        },
        "dataRetentionSettings": {
          "$ref": "GoogleAnalyticsAdminV1alphaDataRetentionSettings",
          "description": "A snapshot of a data retention settings resource in change history."
        },
        "dataStream": {
          "$ref": "GoogleAnalyticsAdminV1alphaDataStream",
          "description": "A snapshot of a DataStream resource in change history."
        },
        "displayVideo360AdvertiserLink": {
          "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink",
          "description": "A snapshot of a DisplayVideo360AdvertiserLink resource in change history."
        },
        "displayVideo360AdvertiserLinkProposal": {
          "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal",
          "description": "A snapshot of a DisplayVideo360AdvertiserLinkProposal resource in change history."
        },
        "enhancedMeasurementSettings": {
          "$ref": "GoogleAnalyticsAdminV1alphaEnhancedMeasurementSettings",
          "description": "A snapshot of EnhancedMeasurementSettings resource in change history."
        },
        "expandedDataSet": {
          "$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSet",
          "description": "A snapshot of an ExpandedDataSet resource in change history."
        },
        "firebaseLink": {
          "$ref": "GoogleAnalyticsAdminV1alphaFirebaseLink",
          "description": "A snapshot of a FirebaseLink resource in change history."
        },
        "googleAdsLink": {
          "$ref": "GoogleAnalyticsAdminV1alphaGoogleAdsLink",
          "description": "A snapshot of a GoogleAdsLink resource in change history."
        },
        "googleSignalsSettings": {
          "$ref": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings",
          "description": "A snapshot of a GoogleSignalsSettings resource in change history."
        },
        "measurementProtocolSecret": {
          "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret",
          "description": "A snapshot of a MeasurementProtocolSecret resource in change history."
        },
        "property": {
          "$ref": "GoogleAnalyticsAdminV1alphaProperty",
          "description": "A snapshot of a Property resource in change history."
        },
        "searchAds360Link": {
          "$ref": "GoogleAnalyticsAdminV1alphaSearchAds360Link",
          "description": "A snapshot of a SearchAds360Link resource in change history."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaChangeHistoryEvent": {
      "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": "GoogleAnalyticsAdminV1alphaChangeHistoryEvent",
      "properties": {
        "actorType": {
          "description": "The type of actor that made this change.",
          "enum": [
            "ACTOR_TYPE_UNSPECIFIED",
            "USER",
            "SYSTEM",
            "SUPPORT"
          ],
          "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"
        },
        "changeTime": {
          "description": "Time when change was made.",
          "format": "google-datetime",
          "type": "string"
        },
        "changes": {
          "description": "A list of changes made in this change history event that fit the filters specified in SearchChangeHistoryEventsRequest.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaChangeHistoryChange"
          },
          "type": "array"
        },
        "changesFiltered": {
          "description": "If true, then the list of changes returned was filtered, and does not represent all changes that occurred in this event.",
          "type": "boolean"
        },
        "id": {
          "description": "ID of this change history event. This ID is unique across Google Analytics.",
          "type": "string"
        },
        "userActorEmail": {
          "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.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaConnectedSiteTag": {
      "description": "Configuration for a specific Connected Site Tag.",
      "id": "GoogleAnalyticsAdminV1alphaConnectedSiteTag",
      "properties": {
        "displayName": {
          "description": "Required. User-provided display name for the connected site tag. Must be less than 256 characters.",
          "type": "string"
        },
        "tagId": {
          "description": "Required. \"Tag ID to forward events to. Also known as the Measurement ID, or the \"G-ID\" (For example: G-12345).",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaConversionEvent": {
      "description": "A conversion event in a Google Analytics property.",
      "id": "GoogleAnalyticsAdminV1alphaConversionEvent",
      "properties": {
        "createTime": {
          "description": "Output only. Time when this conversion event was created in the property.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "custom": {
          "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,
          "type": "boolean"
        },
        "deletable": {
          "description": "Output only. If set, this event can currently be deleted with DeleteConversionEvent.",
          "readOnly": true,
          "type": "boolean"
        },
        "eventName": {
          "description": "Immutable. The event name for this conversion event. Examples: 'click', 'purchase'",
          "type": "string"
        },
        "name": {
          "description": "Output only. Resource name of this conversion event. Format: properties/{property}/conversionEvents/{conversion_event}",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaCreateAccessBindingRequest": {
      "description": "Request message for CreateAccessBinding RPC.",
      "id": "GoogleAnalyticsAdminV1alphaCreateAccessBindingRequest",
      "properties": {
        "accessBinding": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessBinding",
          "description": "Required. The access binding to create."
        },
        "parent": {
          "description": "Required. Formats: - accounts/{account} - properties/{property}",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaCreateConnectedSiteTagRequest": {
      "description": "Request message for CreateConnectedSiteTag RPC.",
      "id": "GoogleAnalyticsAdminV1alphaCreateConnectedSiteTagRequest",
      "properties": {
        "connectedSiteTag": {
          "$ref": "GoogleAnalyticsAdminV1alphaConnectedSiteTag",
          "description": "Required. The tag to add to the Universal Analytics property"
        },
        "property": {
          "description": "The Universal Analytics property to create connected site tags for. This API does not support GA4 properties. Format: properties/{universalAnalyticsPropertyId} Example: properties/1234",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaCreateConnectedSiteTagResponse": {
      "description": "Response message for CreateConnectedSiteTag RPC.",
      "id": "GoogleAnalyticsAdminV1alphaCreateConnectedSiteTagResponse",
      "properties": {},
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaCreateUserLinkRequest": {
      "description": "Request message for CreateUserLink RPC. Users can have multiple email addresses associated with their Google account, and one of these email addresses is the \"primary\" email address. Any of the email addresses associated with a Google account may be used for a new UserLink, but the returned UserLink will always contain the \"primary\" email address. As a result, the input and output email address for this request may differ.",
      "id": "GoogleAnalyticsAdminV1alphaCreateUserLinkRequest",
      "properties": {
        "notifyNewUser": {
          "description": "Optional. If set, then email the new user notifying them that they've been granted permissions to the resource.",
          "type": "boolean"
        },
        "parent": {
          "description": "Required. Example format: accounts/1234",
          "type": "string"
        },
        "userLink": {
          "$ref": "GoogleAnalyticsAdminV1alphaUserLink",
          "description": "Required. The user link to create."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaCustomDimension": {
      "description": "A definition for a CustomDimension.",
      "id": "GoogleAnalyticsAdminV1alphaCustomDimension",
      "properties": {
        "description": {
          "description": "Optional. Description for this custom dimension. Max length of 150 characters.",
          "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"
        },
        "name": {
          "description": "Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}",
          "readOnly": true,
          "type": "string"
        },
        "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. 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"
        },
        "scope": {
          "description": "Required. Immutable. The scope of this dimension.",
          "enum": [
            "DIMENSION_SCOPE_UNSPECIFIED",
            "EVENT",
            "USER"
          ],
          "enumDescriptions": [
            "Scope unknown or not specified.",
            "Dimension scoped to an event.",
            "Dimension scoped to a user."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaCustomMetric": {
      "description": "A definition for a custom metric.",
      "id": "GoogleAnalyticsAdminV1alphaCustomMetric",
      "properties": {
        "description": {
          "description": "Optional. Description for this custom dimension. Max length of 150 characters.",
          "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"
        },
        "measurementUnit": {
          "description": "Required. The type for the custom metric's value.",
          "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."
          ],
          "type": "string"
        },
        "name": {
          "description": "Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}",
          "readOnly": true,
          "type": "string"
        },
        "parameterName": {
          "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.",
          "type": "string"
        },
        "restrictedMetricType": {
          "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": {
            "enum": [
              "RESTRICTED_METRIC_TYPE_UNSPECIFIED",
              "COST_DATA",
              "REVENUE_DATA"
            ],
            "enumDescriptions": [
              "Type unknown or unspecified.",
              "Metric reports cost data.",
              "Metric reports revenue data."
            ],
            "type": "string"
          },
          "type": "array"
        },
        "scope": {
          "description": "Required. Immutable. The scope of this custom metric.",
          "enum": [
            "METRIC_SCOPE_UNSPECIFIED",
            "EVENT"
          ],
          "enumDescriptions": [
            "Scope unknown or not specified.",
            "Metric scoped to an event."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaDataRetentionSettings": {
      "description": "Settings values for data retention. This is a singleton resource.",
      "id": "GoogleAnalyticsAdminV1alphaDataRetentionSettings",
      "properties": {
        "eventDataRetention": {
          "description": "The length of time that event-level data is retained.",
          "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.",
            "The data retention time duration is 38 months. Available to 360 properties only.",
            "The data retention time duration is 50 months. Available to 360 properties only."
          ],
          "type": "string"
        },
        "name": {
          "description": "Output only. Resource name for this DataRetentionSetting resource. Format: properties/{property}/dataRetentionSettings",
          "readOnly": true,
          "type": "string"
        },
        "resetUserDataOnNewActivity": {
          "description": "If true, reset the retention period for the user identifier with every event from that user.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaDataSharingSettings": {
      "description": "A resource message representing data sharing settings of a Google Analytics account.",
      "id": "GoogleAnalyticsAdminV1alphaDataSharingSettings",
      "properties": {
        "name": {
          "description": "Output only. Resource name. Format: accounts/{account}/dataSharingSettings Example: \"accounts/1000/dataSharingSettings\"",
          "readOnly": true,
          "type": "string"
        },
        "sharingWithGoogleAnySalesEnabled": {
          "description": "Allows any of Google sales to access the data in order to suggest configuration changes to improve results.",
          "type": "boolean"
        },
        "sharingWithGoogleAssignedSalesEnabled": {
          "description": "Allows Google sales teams that are assigned to the customer to access the data in order to suggest configuration changes to improve results. Sales team restrictions still apply when enabled.",
          "type": "boolean"
        },
        "sharingWithGoogleProductsEnabled": {
          "description": "Allows Google to use the data to improve other Google products or services.",
          "type": "boolean"
        },
        "sharingWithGoogleSupportEnabled": {
          "description": "Allows Google support to access the data in order to help troubleshoot issues.",
          "type": "boolean"
        },
        "sharingWithOthersEnabled": {
          "description": "Allows Google to share the data anonymously in aggregate form with others.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaDataStream": {
      "description": "A resource message representing a data stream.",
      "id": "GoogleAnalyticsAdminV1alphaDataStream",
      "properties": {
        "androidAppStreamData": {
          "$ref": "GoogleAnalyticsAdminV1alphaDataStreamAndroidAppStreamData",
          "description": "Data specific to Android app streams. Must be populated if type is ANDROID_APP_DATA_STREAM."
        },
        "createTime": {
          "description": "Output only. Time when this stream was originally created.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "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"
        },
        "iosAppStreamData": {
          "$ref": "GoogleAnalyticsAdminV1alphaDataStreamIosAppStreamData",
          "description": "Data specific to iOS app streams. Must be populated if type is IOS_APP_DATA_STREAM."
        },
        "name": {
          "description": "Output only. Resource name of this Data Stream. Format: properties/{property_id}/dataStreams/{stream_id} Example: \"properties/1000/dataStreams/2000\"",
          "readOnly": true,
          "type": "string"
        },
        "type": {
          "description": "Required. Immutable. The type of this DataStream resource.",
          "enum": [
            "DATA_STREAM_TYPE_UNSPECIFIED",
            "WEB_DATA_STREAM",
            "ANDROID_APP_DATA_STREAM",
            "IOS_APP_DATA_STREAM"
          ],
          "enumDescriptions": [
            "Type unknown or not specified.",
            "Web data stream.",
            "Android app data stream.",
            "iOS app data stream."
          ],
          "type": "string"
        },
        "updateTime": {
          "description": "Output only. Time when stream payload fields were last updated.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "webStreamData": {
          "$ref": "GoogleAnalyticsAdminV1alphaDataStreamWebStreamData",
          "description": "Data specific to web streams. Must be populated if type is WEB_DATA_STREAM."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaDataStreamAndroidAppStreamData": {
      "description": "Data specific to Android app streams.",
      "id": "GoogleAnalyticsAdminV1alphaDataStreamAndroidAppStreamData",
      "properties": {
        "firebaseAppId": {
          "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.",
          "readOnly": true,
          "type": "string"
        },
        "packageName": {
          "description": "Immutable. The package name for the app being measured. Example: \"com.example.myandroidapp\"",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaDataStreamIosAppStreamData": {
      "description": "Data specific to iOS app streams.",
      "id": "GoogleAnalyticsAdminV1alphaDataStreamIosAppStreamData",
      "properties": {
        "bundleId": {
          "description": "Required. Immutable. The Apple App Store Bundle ID for the app Example: \"com.example.myiosapp\"",
          "type": "string"
        },
        "firebaseAppId": {
          "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.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaDataStreamWebStreamData": {
      "description": "Data specific to web streams.",
      "id": "GoogleAnalyticsAdminV1alphaDataStreamWebStreamData",
      "properties": {
        "defaultUri": {
          "description": "Immutable. Domain name of the web app being measured, or empty. Example: \"http://www.google.com\", \"https://www.google.com\"",
          "type": "string"
        },
        "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"
        },
        "measurementId": {
          "description": "Output only. Analytics \"Measurement ID\", without the \"G-\" prefix. Example: \"G-1A2BCD345E\" would just be \"1A2BCD345E\"",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaDeleteAccessBindingRequest": {
      "description": "Request message for DeleteAccessBinding RPC.",
      "id": "GoogleAnalyticsAdminV1alphaDeleteAccessBindingRequest",
      "properties": {
        "name": {
          "description": "Required. Formats: - accounts/{account}/accessBindings/{accessBinding} - properties/{property}/accessBindings/{accessBinding}",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaDeleteConnectedSiteTagRequest": {
      "description": "Request message for DeleteConnectedSiteTag RPC.",
      "id": "GoogleAnalyticsAdminV1alphaDeleteConnectedSiteTagRequest",
      "properties": {
        "property": {
          "description": "The Universal Analytics property to delete connected site tags for. This API does not support GA4 properties. Format: properties/{universalAnalyticsPropertyId} Example: properties/1234",
          "type": "string"
        },
        "tagId": {
          "description": "Tag ID to forward events to. Also known as the Measurement ID, or the \"G-ID\" (For example: G-12345).",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaDeleteUserLinkRequest": {
      "description": "Request message for DeleteUserLink RPC.",
      "id": "GoogleAnalyticsAdminV1alphaDeleteUserLinkRequest",
      "properties": {
        "name": {
          "description": "Required. Example format: accounts/1234/userLinks/5678",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink": {
      "description": "A link between a GA4 property and a Display & Video 360 advertiser.",
      "id": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink",
      "properties": {
        "adsPersonalizationEnabled": {
          "description": "Enables personalized advertising features with this integration. If this field is not set on create/update, it will be defaulted to true.",
          "type": "boolean"
        },
        "advertiserDisplayName": {
          "description": "Output only. The display name of the Display & Video 360 Advertiser.",
          "readOnly": true,
          "type": "string"
        },
        "advertiserId": {
          "description": "Immutable. The Display & Video 360 Advertiser's advertiser ID.",
          "type": "string"
        },
        "campaignDataSharingEnabled": {
          "description": "Immutable. Enables the import of campaign data from Display & Video 360 into the GA4 property. After link creation, this can only be updated from the Display & Video 360 product. If this field is not set on create, it will be defaulted to true.",
          "type": "boolean"
        },
        "costDataSharingEnabled": {
          "description": "Immutable. Enables the import of cost data from Display & Video 360 into the GA4 property. This can only be enabled if campaign_data_sharing_enabled is enabled. After link creation, this can only be updated from the Display & Video 360 product. If this field is not set on create, it will be defaulted to true.",
          "type": "boolean"
        },
        "name": {
          "description": "Output only. The resource name for this DisplayVideo360AdvertiserLink resource. Format: properties/{propertyId}/displayVideo360AdvertiserLinks/{linkId} Note: linkId is not the Display & Video 360 Advertiser ID",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal": {
      "description": "A proposal for a link between a GA4 property and a Display & Video 360 advertiser. A proposal is converted to a DisplayVideo360AdvertiserLink once approved. Google Analytics admins approve inbound proposals while Display & Video 360 admins approve outbound proposals.",
      "id": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal",
      "properties": {
        "adsPersonalizationEnabled": {
          "description": "Immutable. Enables personalized advertising features with this integration. If this field is not set on create, it will be defaulted to true.",
          "type": "boolean"
        },
        "advertiserDisplayName": {
          "description": "Output only. The display name of the Display & Video Advertiser. Only populated for proposals that originated from Display & Video 360.",
          "readOnly": true,
          "type": "string"
        },
        "advertiserId": {
          "description": "Immutable. The Display & Video 360 Advertiser's advertiser ID.",
          "type": "string"
        },
        "campaignDataSharingEnabled": {
          "description": "Immutable. Enables the import of campaign data from Display & Video 360. If this field is not set on create, it will be defaulted to true.",
          "type": "boolean"
        },
        "costDataSharingEnabled": {
          "description": "Immutable. Enables the import of cost data from Display & Video 360. This can only be enabled if campaign_data_sharing_enabled is enabled. If this field is not set on create, it will be defaulted to true.",
          "type": "boolean"
        },
        "linkProposalStatusDetails": {
          "$ref": "GoogleAnalyticsAdminV1alphaLinkProposalStatusDetails",
          "description": "Output only. The status information for this link proposal.",
          "readOnly": true
        },
        "name": {
          "description": "Output only. The resource name for this DisplayVideo360AdvertiserLinkProposal resource. Format: properties/{propertyId}/displayVideo360AdvertiserLinkProposals/{proposalId} Note: proposalId is not the Display & Video 360 Advertiser ID",
          "readOnly": true,
          "type": "string"
        },
        "validationEmail": {
          "description": "Input only. On a proposal being sent to Display & Video 360, this field must be set to the email address of an admin on the target advertiser. This is used to verify that the Google Analytics admin is aware of at least one admin on the Display & Video 360 Advertiser. This does not restrict approval of the proposal to a single user. Any admin on the Display & Video 360 Advertiser may approve the proposal.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaEnhancedMeasurementSettings": {
      "description": "Singleton resource under a WebDataStream, configuring measurement of additional site interactions and content.",
      "id": "GoogleAnalyticsAdminV1alphaEnhancedMeasurementSettings",
      "properties": {
        "fileDownloadsEnabled": {
          "description": "If enabled, capture a file download event each time a link is clicked with a common document, compressed file, application, video, or audio extension.",
          "type": "boolean"
        },
        "formInteractionsEnabled": {
          "description": "If enabled, capture a form interaction event each time a visitor interacts with a form on your website. False by default.",
          "type": "boolean"
        },
        "name": {
          "description": "Output only. Resource name of the Enhanced Measurement Settings. Format: properties/{property_id}/dataStreams/{data_stream}/enhancedMeasurementSettings Example: \"properties/1000/dataStreams/2000/enhancedMeasurementSettings\"",
          "readOnly": true,
          "type": "string"
        },
        "outboundClicksEnabled": {
          "description": "If enabled, capture an outbound click event each time a visitor clicks a link that leads them away from your domain.",
          "type": "boolean"
        },
        "pageChangesEnabled": {
          "description": "If enabled, capture a page view event each time the website changes the browser history state.",
          "type": "boolean"
        },
        "scrollsEnabled": {
          "description": "If enabled, capture scroll events each time a visitor gets to the bottom of a page.",
          "type": "boolean"
        },
        "searchQueryParameter": {
          "description": "Required. URL query parameters to interpret as site search parameters. Max length is 1024 characters. Must not be empty.",
          "type": "string"
        },
        "siteSearchEnabled": {
          "description": "If enabled, capture a view search results event each time a visitor performs a search on your site (based on a query parameter).",
          "type": "boolean"
        },
        "streamEnabled": {
          "description": "Indicates whether Enhanced Measurement Settings will be used to automatically measure interactions and content on this web stream. Changing this value does not affect the settings themselves, but determines whether they are respected.",
          "type": "boolean"
        },
        "uriQueryParameter": {
          "description": "Additional URL query parameters. Max length is 1024 characters.",
          "type": "string"
        },
        "videoEngagementEnabled": {
          "description": "If enabled, capture video play, progress, and complete events as visitors view embedded videos on your site.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaExpandedDataSet": {
      "description": "A resource message representing a GA4 ExpandedDataSet.",
      "id": "GoogleAnalyticsAdminV1alphaExpandedDataSet",
      "properties": {
        "dataCollectionStartTime": {
          "description": "Output only. Time when expanded data set began (or will begin) collecing data.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "description": "Optional. The description of the ExpandedDataSet. Max 50 chars.",
          "type": "string"
        },
        "dimensionFilterExpression": {
          "$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterExpression",
          "description": "Immutable. A logical expression of ExpandedDataSet filters applied to dimension included in the ExpandedDataSet. This filter is used to reduce the number of rows and thus the change of encountering `other row`."
        },
        "dimensionNames": {
          "description": "Immutable. The list of dimensions included in the ExpandedDataSet. See the [API Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#dimensions) for the list of dimension names.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "displayName": {
          "description": "Required. The display name of the ExpandedDataSet. Max 200 chars.",
          "type": "string"
        },
        "metricNames": {
          "description": "Immutable. The list of metrics included in the ExpandedDataSet. See the [API Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#metrics) for the list of dimension names.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "description": "Output only. The resource name for this ExpandedDataSet resource. Format: properties/{property_id}/expandedDataSets/{expanded_data_set}",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaExpandedDataSetFilter": {
      "description": "A specific filter for a single dimension",
      "id": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilter",
      "properties": {
        "fieldName": {
          "description": "Required. The dimension name to filter.",
          "type": "string"
        },
        "inListFilter": {
          "$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterInListFilter",
          "description": "A filter for a string dimension that matches a particular list of options."
        },
        "stringFilter": {
          "$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterStringFilter",
          "description": "A filter for a string-type dimension that matches a particular pattern."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterExpression": {
      "description": "A logical expression of EnhancedDataSet dimension filters.",
      "id": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterExpression",
      "properties": {
        "andGroup": {
          "$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterExpressionList",
          "description": "A list of expressions to be AND\u2019ed together. It must contain a ExpandedDataSetFilterExpression with either not_expression or dimension_filter. This must be set for the top level ExpandedDataSetFilterExpression."
        },
        "filter": {
          "$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilter",
          "description": "A filter on a single dimension. This cannot be set on the top level ExpandedDataSetFilterExpression."
        },
        "notExpression": {
          "$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterExpression",
          "description": "A filter expression to be NOT'ed (i.e., inverted, complemented). It must include a dimension_filter. This cannot be set on the top level ExpandedDataSetFilterExpression."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterExpressionList": {
      "description": "A list of ExpandedDataSet filter expressions.",
      "id": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterExpressionList",
      "properties": {
        "filterExpressions": {
          "description": "A list of ExpandedDataSet filter expressions.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterExpression"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterInListFilter": {
      "description": "A filter for a string dimension that matches a particular list of options.",
      "id": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterInListFilter",
      "properties": {
        "caseSensitive": {
          "description": "Optional. If true, the match is case-sensitive. If false, the match is case-insensitive. Must be true.",
          "type": "boolean"
        },
        "values": {
          "description": "Required. The list of possible string values to match against. Must be non-empty.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterStringFilter": {
      "description": "A filter for a string-type dimension that matches a particular pattern.",
      "id": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterStringFilter",
      "properties": {
        "caseSensitive": {
          "description": "Optional. If true, the match is case-sensitive. If false, the match is case-insensitive. Must be true when match_type is EXACT. Must be false when match_type is CONTAINS.",
          "type": "boolean"
        },
        "matchType": {
          "description": "Required. The match type for the string filter.",
          "enum": [
            "MATCH_TYPE_UNSPECIFIED",
            "EXACT",
            "CONTAINS"
          ],
          "enumDescriptions": [
            "Unspecified",
            "Exact match of the string value.",
            "Contains the string value."
          ],
          "type": "string"
        },
        "value": {
          "description": "Required. The string value to be matched against.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaFetchAutomatedGa4ConfigurationOptOutRequest": {
      "description": "Request for fetching the opt out status for the automated GA4 setup process.",
      "id": "GoogleAnalyticsAdminV1alphaFetchAutomatedGa4ConfigurationOptOutRequest",
      "properties": {
        "property": {
          "description": "Required. The UA property to get the opt out status. Note this request uses the internal property ID, not the tracking ID of the form UA-XXXXXX-YY. Format: properties/{internalWebPropertyId} Example: properties/1234",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaFetchAutomatedGa4ConfigurationOptOutResponse": {
      "description": "Response message for fetching the opt out status for the automated GA4 setup process.",
      "id": "GoogleAnalyticsAdminV1alphaFetchAutomatedGa4ConfigurationOptOutResponse",
      "properties": {
        "optOut": {
          "description": "The opt out status for the UA property.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaFirebaseLink": {
      "description": "A link between a GA4 property and a Firebase project.",
      "id": "GoogleAnalyticsAdminV1alphaFirebaseLink",
      "properties": {
        "createTime": {
          "description": "Output only. Time when this FirebaseLink was originally created.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "description": "Output only. Example format: properties/1234/firebaseLinks/5678",
          "readOnly": true,
          "type": "string"
        },
        "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"
    },
    "GoogleAnalyticsAdminV1alphaGlobalSiteTag": {
      "description": "Read-only resource with the tag for sending data from a website to a DataStream. Only present for web DataStream resources.",
      "id": "GoogleAnalyticsAdminV1alphaGlobalSiteTag",
      "properties": {
        "name": {
          "description": "Output only. Resource name for this GlobalSiteTag resource. Format: properties/{property_id}/dataStreams/{stream_id}/globalSiteTag Example: \"properties/123/dataStreams/456/globalSiteTag\"",
          "readOnly": true,
          "type": "string"
        },
        "snippet": {
          "description": "Immutable. JavaScript code snippet to be pasted as the first item into the head tag of every webpage to measure.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaGoogleAdsLink": {
      "description": "A link between a GA4 property and a Google Ads account.",
      "id": "GoogleAnalyticsAdminV1alphaGoogleAdsLink",
      "properties": {
        "adsPersonalizationEnabled": {
          "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.",
          "type": "boolean"
        },
        "canManageClients": {
          "description": "Output only. If true, this link is for a Google Ads manager account.",
          "readOnly": true,
          "type": "boolean"
        },
        "createTime": {
          "description": "Output only. Time when this link was originally created.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "creatorEmailAddress": {
          "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.",
          "readOnly": true,
          "type": "string"
        },
        "customerId": {
          "description": "Immutable. Google Ads customer ID.",
          "type": "string"
        },
        "name": {
          "description": "Output only. Format: properties/{propertyId}/googleAdsLinks/{googleAdsLinkId} Note: googleAdsLinkId is not the Google Ads customer ID.",
          "readOnly": true,
          "type": "string"
        },
        "updateTime": {
          "description": "Output only. Time when this link was last updated.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings": {
      "description": "Settings values for Google Signals. This is a singleton resource.",
      "id": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings",
      "properties": {
        "consent": {
          "description": "Output only. Terms of Service acceptance.",
          "enum": [
            "GOOGLE_SIGNALS_CONSENT_UNSPECIFIED",
            "GOOGLE_SIGNALS_CONSENT_CONSENTED",
            "GOOGLE_SIGNALS_CONSENT_NOT_CONSENTED"
          ],
          "enumDescriptions": [
            "Google Signals consent value defaults to GOOGLE_SIGNALS_CONSENT_UNSPECIFIED. This will be treated as GOOGLE_SIGNALS_CONSENT_NOT_CONSENTED.",
            "Terms of service have been accepted",
            "Terms of service have not been accepted"
          ],
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "description": "Output only. Resource name of this setting. Format: properties/{property_id}/googleSignalsSettings Example: \"properties/1000/googleSignalsSettings\"",
          "readOnly": true,
          "type": "string"
        },
        "state": {
          "description": "Status of this setting.",
          "enum": [
            "GOOGLE_SIGNALS_STATE_UNSPECIFIED",
            "GOOGLE_SIGNALS_ENABLED",
            "GOOGLE_SIGNALS_DISABLED"
          ],
          "enumDescriptions": [
            "Google Signals status defaults to GOOGLE_SIGNALS_STATE_UNSPECIFIED to represent that the user has not made an explicit choice.",
            "Google Signals is enabled.",
            "Google Signals is disabled."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaLinkProposalStatusDetails": {
      "description": "Status information for a link proposal.",
      "id": "GoogleAnalyticsAdminV1alphaLinkProposalStatusDetails",
      "properties": {
        "linkProposalInitiatingProduct": {
          "description": "Output only. The source of this proposal.",
          "enum": [
            "LINK_PROPOSAL_INITIATING_PRODUCT_UNSPECIFIED",
            "GOOGLE_ANALYTICS",
            "LINKED_PRODUCT"
          ],
          "enumDescriptions": [
            "Unspecified product.",
            "This proposal was created by a user from Google Analytics.",
            "This proposal was created by a user from a linked product (not Google Analytics)."
          ],
          "readOnly": true,
          "type": "string"
        },
        "linkProposalState": {
          "description": "Output only. The state of this proposal.",
          "enum": [
            "LINK_PROPOSAL_STATE_UNSPECIFIED",
            "AWAITING_REVIEW_FROM_GOOGLE_ANALYTICS",
            "AWAITING_REVIEW_FROM_LINKED_PRODUCT",
            "WITHDRAWN",
            "DECLINED",
            "EXPIRED",
            "OBSOLETE"
          ],
          "enumDescriptions": [
            "Unspecified state",
            "This proposal is awaiting review from a Google Analytics user. This proposal will automatically expire after some time.",
            "This proposal is awaiting review from a user of a linked product. This proposal will automatically expire after some time.",
            "This proposal has been withdrawn by an admin on the initiating product. This proposal will be automatically deleted after some time.",
            "This proposal has been declined by an admin on the receiving product. This proposal will be automatically deleted after some time.",
            "This proposal expired due to lack of response from an admin on the receiving product. This proposal will be automatically deleted after some time.",
            "This proposal has become obsolete because a link was directly created to the same external product resource that this proposal specifies. This proposal will be automatically deleted after some time."
          ],
          "readOnly": true,
          "type": "string"
        },
        "requestorEmail": {
          "description": "Output only. The email address of the user that proposed this linkage.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListAccessBindingsResponse": {
      "description": "Response message for ListAccessBindings RPC.",
      "id": "GoogleAnalyticsAdminV1alphaListAccessBindingsResponse",
      "properties": {
        "accessBindings": {
          "description": "List of AccessBindings. These will be ordered stably, but in an arbitrary order.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAccessBinding"
          },
          "type": "array"
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListAccountSummariesResponse": {
      "description": "Response message for ListAccountSummaries RPC.",
      "id": "GoogleAnalyticsAdminV1alphaListAccountSummariesResponse",
      "properties": {
        "accountSummaries": {
          "description": "Account summaries of all accounts the caller has access to.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAccountSummary"
          },
          "type": "array"
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListAccountsResponse": {
      "description": "Request message for ListAccounts RPC.",
      "id": "GoogleAnalyticsAdminV1alphaListAccountsResponse",
      "properties": {
        "accounts": {
          "description": "Results that were accessible to the caller.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAccount"
          },
          "type": "array"
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListAudiencesResponse": {
      "description": "Response message for ListAudiences RPC.",
      "id": "GoogleAnalyticsAdminV1alphaListAudiencesResponse",
      "properties": {
        "audiences": {
          "description": "List of Audiences.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAudience"
          },
          "type": "array"
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListBigQueryLinksResponse": {
      "description": "Response message for ListBigQueryLinks RPC",
      "id": "GoogleAnalyticsAdminV1alphaListBigQueryLinksResponse",
      "properties": {
        "bigqueryLinks": {
          "description": "List of BigQueryLinks.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaBigQueryLink"
          },
          "type": "array"
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListConnectedSiteTagsRequest": {
      "description": "Request message for ListConnectedSiteTags RPC.",
      "id": "GoogleAnalyticsAdminV1alphaListConnectedSiteTagsRequest",
      "properties": {
        "property": {
          "description": "The Universal Analytics property to fetch connected site tags for. This does not work on GA4 properties. A maximum of 20 connected site tags will be returned. Example Format: `properties/1234`",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListConnectedSiteTagsResponse": {
      "description": "Response message for ListConnectedSiteTags RPC.",
      "id": "GoogleAnalyticsAdminV1alphaListConnectedSiteTagsResponse",
      "properties": {
        "connectedSiteTags": {
          "description": "The site tags for the Universal Analytics property. A maximum of 20 connected site tags will be returned.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaConnectedSiteTag"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListConversionEventsResponse": {
      "description": "Response message for ListConversionEvents RPC.",
      "id": "GoogleAnalyticsAdminV1alphaListConversionEventsResponse",
      "properties": {
        "conversionEvents": {
          "description": "The requested conversion events",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaConversionEvent"
          },
          "type": "array"
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListCustomDimensionsResponse": {
      "description": "Response message for ListCustomDimensions RPC.",
      "id": "GoogleAnalyticsAdminV1alphaListCustomDimensionsResponse",
      "properties": {
        "customDimensions": {
          "description": "List of CustomDimensions.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension"
          },
          "type": "array"
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListCustomMetricsResponse": {
      "description": "Response message for ListCustomMetrics RPC.",
      "id": "GoogleAnalyticsAdminV1alphaListCustomMetricsResponse",
      "properties": {
        "customMetrics": {
          "description": "List of CustomMetrics.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric"
          },
          "type": "array"
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListDataStreamsResponse": {
      "description": "Response message for ListDataStreams RPC.",
      "id": "GoogleAnalyticsAdminV1alphaListDataStreamsResponse",
      "properties": {
        "dataStreams": {
          "description": "List of DataStreams.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaDataStream"
          },
          "type": "array"
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListDisplayVideo360AdvertiserLinkProposalsResponse": {
      "description": "Response message for ListDisplayVideo360AdvertiserLinkProposals RPC.",
      "id": "GoogleAnalyticsAdminV1alphaListDisplayVideo360AdvertiserLinkProposalsResponse",
      "properties": {
        "displayVideo360AdvertiserLinkProposals": {
          "description": "List of DisplayVideo360AdvertiserLinkProposals.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal"
          },
          "type": "array"
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListDisplayVideo360AdvertiserLinksResponse": {
      "description": "Response message for ListDisplayVideo360AdvertiserLinks RPC.",
      "id": "GoogleAnalyticsAdminV1alphaListDisplayVideo360AdvertiserLinksResponse",
      "properties": {
        "displayVideo360AdvertiserLinks": {
          "description": "List of DisplayVideo360AdvertiserLinks.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink"
          },
          "type": "array"
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListExpandedDataSetsResponse": {
      "description": "Response message for ListExpandedDataSets RPC.",
      "id": "GoogleAnalyticsAdminV1alphaListExpandedDataSetsResponse",
      "properties": {
        "expandedDataSets": {
          "description": "List of ExpandedDataSet. These will be ordered stably, but in an arbitrary order.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSet"
          },
          "type": "array"
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListFirebaseLinksResponse": {
      "description": "Response message for ListFirebaseLinks RPC",
      "id": "GoogleAnalyticsAdminV1alphaListFirebaseLinksResponse",
      "properties": {
        "firebaseLinks": {
          "description": "List of FirebaseLinks. This will have at most one value.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaFirebaseLink"
          },
          "type": "array"
        },
        "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. Currently, Google Analytics supports only one FirebaseLink per property, so this will never be populated.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListGoogleAdsLinksResponse": {
      "description": "Response message for ListGoogleAdsLinks RPC.",
      "id": "GoogleAnalyticsAdminV1alphaListGoogleAdsLinksResponse",
      "properties": {
        "googleAdsLinks": {
          "description": "List of GoogleAdsLinks.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaGoogleAdsLink"
          },
          "type": "array"
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListMeasurementProtocolSecretsResponse": {
      "description": "Response message for ListMeasurementProtocolSecret RPC",
      "id": "GoogleAnalyticsAdminV1alphaListMeasurementProtocolSecretsResponse",
      "properties": {
        "measurementProtocolSecrets": {
          "description": "A list of secrets for the parent stream specified in the request.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret"
          },
          "type": "array"
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListPropertiesResponse": {
      "description": "Response message for ListProperties RPC.",
      "id": "GoogleAnalyticsAdminV1alphaListPropertiesResponse",
      "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"
        },
        "properties": {
          "description": "Results that matched the filter criteria and were accessible to the caller.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaProperty"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListSearchAds360LinksResponse": {
      "description": "Response message for ListSearchAds360Links RPC.",
      "id": "GoogleAnalyticsAdminV1alphaListSearchAds360LinksResponse",
      "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"
        },
        "searchAds360Links": {
          "description": "List of SearchAds360Links.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaSearchAds360Link"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaListUserLinksResponse": {
      "description": "Response message for ListUserLinks RPC.",
      "id": "GoogleAnalyticsAdminV1alphaListUserLinksResponse",
      "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"
        },
        "userLinks": {
          "description": "List of UserLinks. These will be ordered stably, but in an arbitrary order.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaUserLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret": {
      "description": "A secret value used for sending hits to Measurement Protocol.",
      "id": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret",
      "properties": {
        "displayName": {
          "description": "Required. Human-readable display name for this secret.",
          "type": "string"
        },
        "name": {
          "description": "Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}",
          "readOnly": true,
          "type": "string"
        },
        "secretValue": {
          "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.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaNumericValue": {
      "description": "To represent a number.",
      "id": "GoogleAnalyticsAdminV1alphaNumericValue",
      "properties": {
        "doubleValue": {
          "description": "Double value",
          "format": "double",
          "type": "number"
        },
        "int64Value": {
          "description": "Integer value",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaProperty": {
      "description": "A resource message representing a Google Analytics GA4 property.",
      "id": "GoogleAnalyticsAdminV1alphaProperty",
      "properties": {
        "account": {
          "description": "Immutable. The resource name of the parent account Format: accounts/{account_id} Example: \"accounts/123\"",
          "type": "string"
        },
        "createTime": {
          "description": "Output only. Time when the entity was originally created.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "currencyCode": {
          "description": "The currency type used in reports involving monetary values. Format: https://en.wikipedia.org/wiki/ISO_4217 Examples: \"USD\", \"EUR\", \"JPY\"",
          "type": "string"
        },
        "deleteTime": {
          "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.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "displayName": {
          "description": "Required. Human-readable display name for this property. The max allowed display name length is 100 UTF-16 code units.",
          "type": "string"
        },
        "expireTime": {
          "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",
          "readOnly": true,
          "type": "string"
        },
        "industryCategory": {
          "description": "Industry associated with this property Example: AUTOMOTIVE, FOOD_AND_DRINK",
          "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"
          ],
          "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"
          ],
          "type": "string"
        },
        "name": {
          "description": "Output only. Resource name of this property. Format: properties/{property_id} Example: \"properties/1000\"",
          "readOnly": true,
          "type": "string"
        },
        "parent": {
          "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\"",
          "type": "string"
        },
        "propertyType": {
          "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. \"SUBPROPERTY\" and \"ROLLUP_PROPERTY\" types cannot yet be created with the Google Analytics Admin API.",
          "enum": [
            "PROPERTY_TYPE_UNSPECIFIED",
            "PROPERTY_TYPE_ORDINARY",
            "PROPERTY_TYPE_SUBPROPERTY",
            "PROPERTY_TYPE_ROLLUP"
          ],
          "enumDescriptions": [
            "Unknown or unspecified property type",
            "Ordinary GA4 property",
            "GA4 subproperty",
            "GA4 rollup property"
          ],
          "type": "string"
        },
        "serviceLevel": {
          "description": "Output only. The Google Analytics service level that applies to this property.",
          "enum": [
            "SERVICE_LEVEL_UNSPECIFIED",
            "GOOGLE_ANALYTICS_STANDARD",
            "GOOGLE_ANALYTICS_360"
          ],
          "enumDescriptions": [
            "Service level not specified or invalid.",
            "The standard version of Google Analytics.",
            "The paid, premium version of Google Analytics."
          ],
          "readOnly": true,
          "type": "string"
        },
        "timeZone": {
          "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\"",
          "type": "string"
        },
        "updateTime": {
          "description": "Output only. Time when entity payload fields were last updated.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaPropertySummary": {
      "description": "A virtual resource representing metadata for a GA4 property.",
      "id": "GoogleAnalyticsAdminV1alphaPropertySummary",
      "properties": {
        "displayName": {
          "description": "Display name for the property referred to in this property summary.",
          "type": "string"
        },
        "parent": {
          "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\"",
          "type": "string"
        },
        "property": {
          "description": "Resource name of property referred to by this property summary Format: properties/{property_id} Example: \"properties/1000\"",
          "type": "string"
        },
        "propertyType": {
          "description": "The property's property type.",
          "enum": [
            "PROPERTY_TYPE_UNSPECIFIED",
            "PROPERTY_TYPE_ORDINARY",
            "PROPERTY_TYPE_SUBPROPERTY",
            "PROPERTY_TYPE_ROLLUP"
          ],
          "enumDescriptions": [
            "Unknown or unspecified property type",
            "Ordinary GA4 property",
            "GA4 subproperty",
            "GA4 rollup property"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaProvisionAccountTicketRequest": {
      "description": "Request message for ProvisionAccountTicket RPC.",
      "id": "GoogleAnalyticsAdminV1alphaProvisionAccountTicketRequest",
      "properties": {
        "account": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccount",
          "description": "The account to create."
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaProvisionAccountTicketResponse": {
      "description": "Response message for ProvisionAccountTicket RPC.",
      "id": "GoogleAnalyticsAdminV1alphaProvisionAccountTicketResponse",
      "properties": {
        "accountTicketId": {
          "description": "The param to be passed in the ToS link.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaRunAccessReportRequest": {
      "description": "The request for a Data Access Record Report.",
      "id": "GoogleAnalyticsAdminV1alphaRunAccessReportRequest",
      "properties": {
        "dateRanges": {
          "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.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAccessDateRange"
          },
          "type": "array"
        },
        "dimensionFilter": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpression",
          "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": {
          "description": "The dimensions requested and displayed in the response. Requests are allowed up to 9 dimensions.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAccessDimension"
          },
          "type": "array"
        },
        "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).",
          "format": "int64",
          "type": "string"
        },
        "metricFilter": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpression",
          "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."
        },
        "metrics": {
          "description": "The metrics requested and displayed in the response. Requests are allowed up to 10 metrics.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAccessMetric"
          },
          "type": "array"
        },
        "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"
        },
        "orderBys": {
          "description": "Specifies how rows are ordered in the response.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAccessOrderBy"
          },
          "type": "array"
        },
        "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"
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaRunAccessReportResponse": {
      "description": "The customized Data Access Record Report response.",
      "id": "GoogleAnalyticsAdminV1alphaRunAccessReportResponse",
      "properties": {
        "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.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAccessDimensionHeader"
          },
          "type": "array"
        },
        "metricHeaders": {
          "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.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAccessMetricHeader"
          },
          "type": "array"
        },
        "quota": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessQuota",
          "description": "The quota state for this Analytics property including this request. This field doesn't work with account-level requests."
        },
        "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"
        },
        "rows": {
          "description": "Rows of dimension value combinations and metric values in the report.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaAccessRow"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaSearchAds360Link": {
      "description": "A link between a GA4 property and a Search Ads 360 entity.",
      "id": "GoogleAnalyticsAdminV1alphaSearchAds360Link",
      "properties": {
        "adsPersonalizationEnabled": {
          "description": "Enables personalized advertising features with this integration. If this field is not set on create, it will be defaulted to true.",
          "type": "boolean"
        },
        "advertiserDisplayName": {
          "description": "Output only. The display name of the Search Ads 360 Advertiser. Allows users to easily identify the linked resource.",
          "readOnly": true,
          "type": "string"
        },
        "advertiserId": {
          "description": "Immutable. This field represents the Advertiser ID of the Search Ads 360 Advertiser. that has been linked.",
          "type": "string"
        },
        "campaignDataSharingEnabled": {
          "description": "Immutable. Enables the import of campaign data from Search Ads 360 into the GA4 property. After link creation, this can only be updated from the Search Ads 360 product. If this field is not set on create, it will be defaulted to true.",
          "type": "boolean"
        },
        "costDataSharingEnabled": {
          "description": "Immutable. Enables the import of cost data from Search Ads 360 to the GA4 property. This can only be enabled if campaign_data_sharing_enabled is enabled. After link creation, this can only be updated from the Search Ads 360 product. If this field is not set on create, it will be defaulted to true.",
          "type": "boolean"
        },
        "name": {
          "description": "Output only. The resource name for this SearchAds360Link resource. Format: properties/{propertyId}/searchAds360Links/{linkId} Note: linkId is not the Search Ads 360 advertiser ID",
          "readOnly": true,
          "type": "string"
        },
        "siteStatsSharingEnabled": {
          "description": "Enables export of site stats with this integration. If this field is not set on create, it will be defaulted to true.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaSearchChangeHistoryEventsRequest": {
      "description": "Request message for SearchChangeHistoryEvents RPC.",
      "id": "GoogleAnalyticsAdminV1alphaSearchChangeHistoryEventsRequest",
      "properties": {
        "action": {
          "description": "Optional. If set, only return changes that match one or more of these types of actions.",
          "items": {
            "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."
            ],
            "type": "string"
          },
          "type": "array"
        },
        "actorEmail": {
          "description": "Optional. If set, only return changes if they are made by a user in this list.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "earliestChangeTime": {
          "description": "Optional. If set, only return changes made after this time (inclusive).",
          "format": "google-datetime",
          "type": "string"
        },
        "latestChangeTime": {
          "description": "Optional. If set, only return changes made before this time (inclusive).",
          "format": "google-datetime",
          "type": "string"
        },
        "pageSize": {
          "description": "Optional. The maximum number of ChangeHistoryEvent items to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 items will be returned. The maximum value is 200 (higher values will be coerced to the maximum).",
          "format": "int32",
          "type": "integer"
        },
        "pageToken": {
          "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.",
          "type": "string"
        },
        "property": {
          "description": "Optional. Resource name for a child property. If set, only return changes made to this property or its child resources.",
          "type": "string"
        },
        "resourceType": {
          "description": "Optional. If set, only return changes if they are for a resource that matches at least one of these types.",
          "items": {
            "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",
              "SEARCH_ADS_360_LINK",
              "DATA_STREAM",
              "ATTRIBUTION_SETTINGS",
              "EXPANDED_DATA_SET",
              "CHANNEL_GROUP",
              "ENHANCED_MEASUREMENT_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",
              "SearchAds360Link resource",
              "DataStream resource",
              "AttributionSettings resource",
              "ExpandedDataSet resource",
              "ChannelGroup resource",
              "EnhancedMeasurementSettings resource"
            ],
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaSearchChangeHistoryEventsResponse": {
      "description": "Response message for SearchAccounts RPC.",
      "id": "GoogleAnalyticsAdminV1alphaSearchChangeHistoryEventsResponse",
      "properties": {
        "changeHistoryEvents": {
          "description": "Results that were accessible to the caller.",
          "items": {
            "$ref": "GoogleAnalyticsAdminV1alphaChangeHistoryEvent"
          },
          "type": "array"
        },
        "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"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaSetAutomatedGa4ConfigurationOptOutRequest": {
      "description": "Request for setting the opt out status for the automated GA4 setup process.",
      "id": "GoogleAnalyticsAdminV1alphaSetAutomatedGa4ConfigurationOptOutRequest",
      "properties": {
        "optOut": {
          "description": "The status to set.",
          "type": "boolean"
        },
        "property": {
          "description": "Required. The UA property to set the opt out status. Note this request uses the internal property ID, not the tracking ID of the form UA-XXXXXX-YY. Format: properties/{internalWebPropertyId} Example: properties/1234",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaSetAutomatedGa4ConfigurationOptOutResponse": {
      "description": "Response message for setting the opt out status for the automated GA4 setup process.",
      "id": "GoogleAnalyticsAdminV1alphaSetAutomatedGa4ConfigurationOptOutResponse",
      "properties": {},
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaUpdateAccessBindingRequest": {
      "description": "Request message for UpdateAccessBinding RPC.",
      "id": "GoogleAnalyticsAdminV1alphaUpdateAccessBindingRequest",
      "properties": {
        "accessBinding": {
          "$ref": "GoogleAnalyticsAdminV1alphaAccessBinding",
          "description": "Required. The access binding to update."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaUpdateUserLinkRequest": {
      "description": "Request message for UpdateUserLink RPC.",
      "id": "GoogleAnalyticsAdminV1alphaUpdateUserLinkRequest",
      "properties": {
        "userLink": {
          "$ref": "GoogleAnalyticsAdminV1alphaUserLink",
          "description": "Required. The user link to update."
        }
      },
      "type": "object"
    },
    "GoogleAnalyticsAdminV1alphaUserLink": {
      "description": "A resource message representing a user's permissions on an Account or Property resource.",
      "id": "GoogleAnalyticsAdminV1alphaUserLink",
      "properties": {
        "directRoles": {
          "description": "Roles directly assigned to this user for this account or property. Valid values: predefinedRoles/viewer predefinedRoles/analyst predefinedRoles/editor predefinedRoles/admin predefinedRoles/no-cost-data predefinedRoles/no-revenue-data Excludes roles that are inherited from a higher-level entity, group, or organization admin role. A UserLink that is updated to have an empty list of direct_roles will be deleted.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "emailAddress": {
          "description": "Immutable. Email address of the user to link",
          "type": "string"
        },
        "name": {
          "description": "Output only. Example format: properties/1234/userLinks/5678",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleProtobufEmpty": {
      "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",
      "properties": {},
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Google Analytics Admin API",
  "version": "v1alpha",
  "version_module": true
}