{
  "name": "analytics",
  "schemas": {
    "UnsampledReports": {
      "id": "UnsampledReports",
      "properties": {
        "startIndex": {
          "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "kind": {
          "description": "Collection type.",
          "default": "analytics#unsampledReports",
          "type": "string"
        },
        "nextLink": {
          "type": "string",
          "description": "Link to next page for this unsampled report collection."
        },
        "totalResults": {
          "description": "The total number of results for the query, regardless of the number of resources in the result.",
          "type": "integer",
          "format": "int32"
        },
        "itemsPerPage": {
          "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "previousLink": {
          "type": "string",
          "description": "Link to previous page for this unsampled report collection."
        },
        "items": {
          "items": {
            "$ref": "UnsampledReport"
          },
          "description": "A list of unsampled reports.",
          "type": "array"
        },
        "username": {
          "type": "string",
          "description": "Email ID of the authenticated user"
        }
      },
      "description": "An unsampled report collection lists Analytics unsampled reports to which the user has access. Each view (profile) can have a set of unsampled reports. Each resource in the unsampled report collection corresponds to a single Analytics unsampled report.",
      "type": "object"
    },
    "Webproperties": {
      "type": "object",
      "description": "A web property collection lists Analytics web properties to which the user has access. Each resource in the collection corresponds to a single Analytics web property.",
      "id": "Webproperties",
      "properties": {
        "items": {
          "type": "array",
          "description": "A list of web properties.",
          "items": {
            "$ref": "Webproperty"
          }
        },
        "username": {
          "type": "string",
          "description": "Email ID of the authenticated user"
        },
        "previousLink": {
          "type": "string",
          "description": "Link to previous page for this web property collection."
        },
        "kind": {
          "description": "Collection type.",
          "default": "analytics#webproperties",
          "type": "string"
        },
        "nextLink": {
          "type": "string",
          "description": "Link to next page for this web property collection."
        },
        "startIndex": {
          "type": "integer",
          "format": "int32",
          "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter."
        },
        "itemsPerPage": {
          "type": "integer",
          "format": "int32",
          "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter."
        },
        "totalResults": {
          "type": "integer",
          "format": "int32",
          "description": "The total number of results for the query, regardless of the number of results in the response."
        }
      }
    },
    "Profiles": {
      "description": "A view (profile) collection lists Analytics views (profiles) to which the user has access. Each resource in the collection corresponds to a single Analytics view (profile).",
      "id": "Profiles",
      "properties": {
        "kind": {
          "type": "string",
          "description": "Collection type.",
          "default": "analytics#profiles"
        },
        "nextLink": {
          "type": "string",
          "description": "Link to next page for this view (profile) collection."
        },
        "startIndex": {
          "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "itemsPerPage": {
          "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "totalResults": {
          "description": "The total number of results for the query, regardless of the number of results in the response.",
          "type": "integer",
          "format": "int32"
        },
        "items": {
          "items": {
            "$ref": "Profile"
          },
          "description": "A list of views (profiles).",
          "type": "array"
        },
        "username": {
          "type": "string",
          "description": "Email ID of the authenticated user"
        },
        "previousLink": {
          "type": "string",
          "description": "Link to previous page for this view (profile) collection."
        }
      },
      "type": "object"
    },
    "Experiments": {
      "type": "object",
      "id": "Experiments",
      "properties": {
        "previousLink": {
          "type": "string",
          "description": "Link to previous page for this experiment collection."
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "Experiment"
          },
          "description": "A list of experiments."
        },
        "username": {
          "type": "string",
          "description": "Email ID of the authenticated user"
        },
        "totalResults": {
          "description": "The total number of results for the query, regardless of the number of resources in the result.",
          "type": "integer",
          "format": "int32"
        },
        "itemsPerPage": {
          "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "startIndex": {
          "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "kind": {
          "description": "Collection type.",
          "default": "analytics#experiments",
          "type": "string"
        },
        "nextLink": {
          "type": "string",
          "description": "Link to next page for this experiment collection."
        }
      },
      "description": "An experiment collection lists Analytics experiments to which the user has access. Each view (profile) can have a set of experiments. Each resource in the Experiment collection corresponds to a single Analytics experiment."
    },
    "ProfileFilterLink": {
      "type": "object",
      "description": "JSON template for an Analytics profile filter link.",
      "id": "ProfileFilterLink",
      "properties": {
        "profileRef": {
          "$ref": "ProfileRef",
          "description": "View (Profile) for this link."
        },
        "id": {
          "type": "string",
          "description": "Profile filter link ID."
        },
        "kind": {
          "description": "Resource type for Analytics filter.",
          "default": "analytics#profileFilterLink",
          "readOnly": true,
          "type": "string"
        },
        "selfLink": {
          "readOnly": true,
          "type": "string",
          "description": "Link for this profile filter link."
        },
        "rank": {
          "description": "The rank of this profile filter link relative to the other filters linked to the same profile.\nFor readonly (i.e., list and get) operations, the rank always starts at 1.\nFor write (i.e., create, update, or delete) operations, you may specify a value between 0 and 255 inclusively, [0, 255]. In order to insert a link at the end of the list, either don't specify a rank or set a rank to a number greater than the largest rank in the list. In order to insert a link to the beginning of the list specify a rank that is less than or equal to 1. The new link will move all existing filters with the same or lower rank down the list. After the link is inserted/updated/deleted all profile filter links will be renumbered starting at 1.",
          "type": "integer",
          "format": "int32"
        },
        "filterRef": {
          "$ref": "FilterRef",
          "description": "Filter for this link."
        }
      }
    },
    "CustomDimension": {
      "type": "object",
      "id": "CustomDimension",
      "properties": {
        "kind": {
          "description": "Kind value for a custom dimension. Set to \"analytics#customDimension\". It is a read-only field.",
          "default": "analytics#customDimension",
          "readOnly": true,
          "type": "string"
        },
        "selfLink": {
          "description": "Link for the custom dimension",
          "readOnly": true,
          "type": "string"
        },
        "active": {
          "type": "boolean",
          "description": "Boolean indicating whether the custom dimension is active."
        },
        "created": {
          "type": "string",
          "format": "date-time",
          "readOnly": true,
          "description": "Time the custom dimension was created."
        },
        "id": {
          "type": "string",
          "description": "Custom dimension ID."
        },
        "scope": {
          "type": "string",
          "description": "Scope of the custom dimension: HIT, SESSION, USER or PRODUCT."
        },
        "updated": {
          "description": "Time the custom dimension was last modified.",
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "name": {
          "type": "string",
          "description": "Name of the custom dimension."
        },
        "index": {
          "readOnly": true,
          "type": "integer",
          "format": "int32",
          "description": "Index of the custom dimension."
        },
        "webPropertyId": {
          "type": "string",
          "description": "Property ID."
        },
        "accountId": {
          "type": "string",
          "description": "Account ID."
        },
        "parentLink": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string",
              "description": "Link to the property to which the custom dimension belongs."
            },
            "type": {
              "type": "string",
              "description": "Type of the parent link. Set to \"analytics#webproperty\".",
              "default": "analytics#webproperty"
            }
          },
          "description": "Parent link for the custom dimension. Points to the property to which the custom dimension belongs."
        }
      },
      "description": "JSON template for Analytics Custom Dimension."
    },
    "CustomDimensions": {
      "type": "object",
      "description": "A custom dimension collection lists Analytics custom dimensions to which the user has access. Each resource in the collection corresponds to a single Analytics custom dimension.",
      "id": "CustomDimensions",
      "properties": {
        "totalResults": {
          "description": "The total number of results for the query, regardless of the number of results in the response.",
          "type": "integer",
          "format": "int32"
        },
        "itemsPerPage": {
          "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "startIndex": {
          "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "kind": {
          "description": "Collection type.",
          "default": "analytics#customDimensions",
          "type": "string"
        },
        "nextLink": {
          "type": "string",
          "description": "Link to next page for this custom dimension collection."
        },
        "previousLink": {
          "type": "string",
          "description": "Link to previous page for this custom dimension collection."
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "CustomDimension"
          },
          "description": "Collection of custom dimensions."
        },
        "username": {
          "type": "string",
          "description": "Email ID of the authenticated user"
        }
      }
    },
    "Goal": {
      "id": "Goal",
      "properties": {
        "kind": {
          "type": "string",
          "description": "Resource type for an Analytics goal.",
          "default": "analytics#goal"
        },
        "selfLink": {
          "type": "string",
          "description": "Link for this goal."
        },
        "visitTimeOnSiteDetails": {
          "type": "object",
          "description": "Details for the goal of the type VISIT_TIME_ON_SITE.",
          "properties": {
            "comparisonType": {
              "type": "string",
              "description": "Type of comparison. Possible values are LESS_THAN or GREATER_THAN."
            },
            "comparisonValue": {
              "type": "string",
              "format": "int64",
              "description": "Value used for this comparison."
            }
          }
        },
        "value": {
          "type": "number",
          "format": "float",
          "description": "Goal value."
        },
        "created": {
          "type": "string",
          "format": "date-time",
          "description": "Time this goal was created."
        },
        "internalWebPropertyId": {
          "type": "string",
          "description": "Internal ID for the web property to which this goal belongs."
        },
        "updated": {
          "type": "string",
          "format": "date-time",
          "description": "Time this goal was last modified."
        },
        "name": {
          "type": "string",
          "description": "Goal name."
        },
        "accountId": {
          "type": "string",
          "description": "Account ID to which this goal belongs."
        },
        "urlDestinationDetails": {
          "properties": {
            "firstStepRequired": {
              "type": "boolean",
              "description": "Determines if the first step in this goal is required."
            },
            "caseSensitive": {
              "type": "boolean",
              "description": "Determines if the goal URL must exactly match the capitalization of visited URLs."
            },
            "matchType": {
              "type": "string",
              "description": "Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX."
            },
            "steps": {
              "type": "array",
              "description": "List of steps configured for this goal funnel.",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Step name."
                  },
                  "number": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Step number."
                  },
                  "url": {
                    "type": "string",
                    "description": "URL for this step."
                  }
                }
              }
            },
            "url": {
              "type": "string",
              "description": "URL for this goal."
            }
          },
          "description": "Details for the goal of the type URL_DESTINATION.",
          "type": "object"
        },
        "active": {
          "type": "boolean",
          "description": "Determines whether this goal is active."
        },
        "profileId": {
          "type": "string",
          "description": "View (Profile) ID to which this goal belongs."
        },
        "visitNumPagesDetails": {
          "type": "object",
          "properties": {
            "comparisonType": {
              "type": "string",
              "description": "Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL."
            },
            "comparisonValue": {
              "type": "string",
              "format": "int64",
              "description": "Value used for this comparison."
            }
          },
          "description": "Details for the goal of the type VISIT_NUM_PAGES."
        },
        "id": {
          "type": "string",
          "description": "Goal ID."
        },
        "eventDetails": {
          "properties": {
            "eventConditions": {
              "items": {
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE."
                  },
                  "expression": {
                    "type": "string",
                    "description": "Expression used for this match."
                  },
                  "comparisonType": {
                    "type": "string",
                    "description": "Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL."
                  },
                  "comparisonValue": {
                    "type": "string",
                    "format": "int64",
                    "description": "Value used for this comparison."
                  },
                  "matchType": {
                    "type": "string",
                    "description": "Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT."
                  }
                },
                "type": "object"
              },
              "description": "List of event conditions.",
              "type": "array"
            },
            "useEventValue": {
              "type": "boolean",
              "description": "Determines if the event value should be used as the value for this goal."
            }
          },
          "description": "Details for the goal of the type EVENT.",
          "type": "object"
        },
        "parentLink": {
          "properties": {
            "href": {
              "type": "string",
              "description": "Link to the view (profile) to which this goal belongs."
            },
            "type": {
              "type": "string",
              "description": "Value is \"analytics#profile\".",
              "default": "analytics#profile"
            }
          },
          "description": "Parent link for a goal. Points to the view (profile) to which this goal belongs.",
          "type": "object"
        },
        "type": {
          "type": "string",
          "description": "Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE, VISIT_NUM_PAGES, AND EVENT."
        },
        "webPropertyId": {
          "type": "string",
          "description": "Web property ID to which this goal belongs. The web property ID is of the form UA-XXXXX-YY."
        }
      },
      "description": "JSON template for Analytics goal resource.",
      "type": "object"
    },
    "Goals": {
      "type": "object",
      "id": "Goals",
      "properties": {
        "kind": {
          "type": "string",
          "description": "Collection type.",
          "default": "analytics#goals"
        },
        "nextLink": {
          "type": "string",
          "description": "Link to next page for this goal collection."
        },
        "startIndex": {
          "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "itemsPerPage": {
          "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "totalResults": {
          "description": "The total number of results for the query, regardless of the number of resources in the result.",
          "type": "integer",
          "format": "int32"
        },
        "items": {
          "description": "A list of goals.",
          "items": {
            "$ref": "Goal"
          },
          "type": "array"
        },
        "username": {
          "type": "string",
          "description": "Email ID of the authenticated user"
        },
        "previousLink": {
          "type": "string",
          "description": "Link to previous page for this goal collection."
        }
      },
      "description": "A goal collection lists Analytics goals to which the user has access. Each view (profile) can have a set of goals. Each resource in the Goal collection corresponds to a single Analytics goal."
    },
    "CustomMetrics": {
      "type": "object",
      "description": "A custom metric collection lists Analytics custom metrics to which the user has access. Each resource in the collection corresponds to a single Analytics custom metric.",
      "id": "CustomMetrics",
      "properties": {
        "items": {
          "description": "Collection of custom metrics.",
          "items": {
            "$ref": "CustomMetric"
          },
          "type": "array"
        },
        "username": {
          "type": "string",
          "description": "Email ID of the authenticated user"
        },
        "previousLink": {
          "type": "string",
          "description": "Link to previous page for this custom metric collection."
        },
        "itemsPerPage": {
          "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "totalResults": {
          "description": "The total number of results for the query, regardless of the number of results in the response.",
          "type": "integer",
          "format": "int32"
        },
        "kind": {
          "type": "string",
          "description": "Collection type.",
          "default": "analytics#customMetrics"
        },
        "nextLink": {
          "type": "string",
          "description": "Link to next page for this custom metric collection."
        },
        "startIndex": {
          "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "Profile": {
      "id": "Profile",
      "properties": {
        "defaultPage": {
          "type": "string",
          "description": "Default page for this view (profile)."
        },
        "currency": {
          "type": "string",
          "description": "The currency type associated with this view (profile), defaults to USD. The supported values are:\nUSD, JPY, EUR, GBP, AUD, KRW, BRL, CNY, DKK, RUB, SEK, NOK, PLN, TRY, TWD, HKD, THB, IDR, ARS, MXN, VND, PHP, INR, CHF, CAD, CZK, NZD, HUF, BGN, LTL, ZAR, UAH, AED, BOB, CLP, COP, EGP, HRK, ILS, MAD, MYR, PEN, PKR, RON, RSD, SAR, SGD, VEF, LVL"
        },
        "id": {
          "type": "string",
          "description": "View (Profile) ID."
        },
        "childLink": {
          "properties": {
            "href": {
              "type": "string",
              "description": "Link to the list of goals for this view (profile)."
            },
            "type": {
              "type": "string",
              "description": "Value is \"analytics#goals\".",
              "default": "analytics#goals"
            }
          },
          "description": "Child link for this view (profile). Points to the list of goals for this view (profile).",
          "type": "object"
        },
        "webPropertyId": {
          "description": "Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.",
          "type": "string",
          "readOnly": true
        },
        "siteSearchCategoryParameters": {
          "type": "string",
          "description": "Site search category parameters for this view (profile)."
        },
        "timezone": {
          "type": "string",
          "description": "Time zone for which this view (profile) has been configured. Time zones are identified by strings from the TZ database."
        },
        "websiteUrl": {
          "type": "string",
          "description": "Website URL for this view (profile)."
        },
        "starred": {
          "type": "boolean",
          "description": "Indicates whether this view (profile) is starred or not."
        },
        "created": {
          "description": "Time this view (profile) was created.",
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "permissions": {
          "type": "object",
          "properties": {
            "effective": {
              "description": "All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.",
              "items": {
                "type": "string"
              },
              "type": "array",
              "readOnly": true
            }
          },
          "description": "Permissions the user has for this view (profile)."
        },
        "enhancedECommerceTracking": {
          "type": "boolean",
          "description": "Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled."
        },
        "siteSearchQueryParameters": {
          "type": "string",
          "description": "The site search query parameters for this view (profile)."
        },
        "botFilteringEnabled": {
          "type": "boolean",
          "description": "Indicates whether bot filtering is enabled for this view (profile)."
        },
        "parentLink": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string",
              "description": "Link to the web property to which this view (profile) belongs."
            },
            "type": {
              "type": "string",
              "description": "Value is \"analytics#webproperty\".",
              "default": "analytics#webproperty"
            }
          },
          "description": "Parent link for this view (profile). Points to the web property to which this view (profile) belongs."
        },
        "stripSiteSearchCategoryParameters": {
          "type": "boolean",
          "description": "Whether or not Analytics will strip search category parameters from the URLs in your reports."
        },
        "type": {
          "type": "string",
          "description": "View (Profile) type. Supported types: WEB or APP."
        },
        "kind": {
          "type": "string",
          "readOnly": true,
          "description": "Resource type for Analytics view (profile).",
          "default": "analytics#profile"
        },
        "selfLink": {
          "readOnly": true,
          "type": "string",
          "description": "Link for this view (profile)."
        },
        "stripSiteSearchQueryParameters": {
          "type": "boolean",
          "description": "Whether or not Analytics will strip search query parameters from the URLs in your reports."
        },
        "internalWebPropertyId": {
          "description": "Internal ID for the web property to which this view (profile) belongs.",
          "type": "string",
          "readOnly": true
        },
        "excludeQueryParameters": {
          "type": "string",
          "description": "The query parameters that are excluded from this view (profile)."
        },
        "updated": {
          "description": "Time this view (profile) was last modified.",
          "readOnly": true,
          "type": "string",
          "format": "date-time"
        },
        "name": {
          "type": "string",
          "description": "Name of this view (profile)."
        },
        "accountId": {
          "type": "string",
          "description": "Account ID to which this view (profile) belongs."
        },
        "eCommerceTracking": {
          "type": "boolean",
          "description": "Indicates whether ecommerce tracking is enabled for this view (profile)."
        }
      },
      "description": "JSON template for an Analytics view (profile).",
      "type": "object"
    },
    "Column": {
      "type": "object",
      "description": "JSON template for a metadata column.",
      "id": "Column",
      "properties": {
        "id": {
          "type": "string",
          "description": "Column id."
        },
        "kind": {
          "type": "string",
          "description": "Resource type for Analytics column.",
          "default": "analytics#column"
        },
        "attributes": {
          "type": "object",
          "description": "Map of attribute name and value for this column.",
          "additionalProperties": {
            "type": "string",
            "description": "The name of the attribute."
          }
        }
      }
    },
    "HashClientIdRequest": {
      "id": "HashClientIdRequest",
      "properties": {
        "clientId": {
          "type": "string"
        },
        "webPropertyId": {
          "type": "string"
        },
        "kind": {
          "type": "string",
          "default": "analytics#hashClientIdRequest"
        }
      },
      "description": "JSON template for a hash Client Id request resource.",
      "type": "object"
    },
    "AdWordsAccount": {
      "type": "object",
      "id": "AdWordsAccount",
      "properties": {
        "autoTaggingEnabled": {
          "type": "boolean",
          "description": "True if auto-tagging is enabled on the Google Ads account. Read-only after the insert operation."
        },
        "customerId": {
          "type": "string",
          "description": "Customer ID. This field is required when creating a Google Ads link.",
          "annotations": {
            "required": [
              "analytics.management.webPropertyAdWordsLinks.insert",
              "analytics.management.webPropertyAdWordsLinks.update"
            ]
          }
        },
        "kind": {
          "type": "string",
          "description": "Resource type for Google Ads account.",
          "default": "analytics#adWordsAccount"
        }
      },
      "description": "JSON template for an Google Ads account."
    },
    "HashClientIdResponse": {
      "description": "JSON template for a hash Client Id response resource.",
      "id": "HashClientIdResponse",
      "properties": {
        "clientId": {
          "type": "string"
        },
        "hashedClientId": {
          "type": "string"
        },
        "kind": {
          "type": "string",
          "default": "analytics#hashClientIdResponse"
        },
        "webPropertyId": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "UnsampledReport": {
      "description": "JSON template for Analytics unsampled report resource.",
      "id": "UnsampledReport",
      "properties": {
        "updated": {
          "type": "string",
          "format": "date-time",
          "readOnly": true,
          "description": "Time this unsampled report was last modified."
        },
        "accountId": {
          "type": "string",
          "description": "Account ID to which this unsampled report belongs."
        },
        "status": {
          "description": "Status of this unsampled report. Possible values are PENDING, COMPLETED, or FAILED.",
          "readOnly": true,
          "type": "string"
        },
        "kind": {
          "description": "Resource type for an Analytics unsampled report.",
          "default": "analytics#unsampledReport",
          "readOnly": true,
          "type": "string"
        },
        "selfLink": {
          "type": "string",
          "readOnly": true,
          "description": "Link for this unsampled report."
        },
        "downloadType": {
          "type": "string",
          "readOnly": true,
          "description": "The type of download you need to use for the report data file. Possible values include `GOOGLE_DRIVE` and `GOOGLE_CLOUD_STORAGE`. If the value is `GOOGLE_DRIVE`, see the `driveDownloadDetails` field. If the value is `GOOGLE_CLOUD_STORAGE`, see the `cloudStorageDownloadDetails` field."
        },
        "created": {
          "type": "string",
          "format": "date-time",
          "readOnly": true,
          "description": "Time this unsampled report was created."
        },
        "driveDownloadDetails": {
          "readOnly": true,
          "type": "object",
          "properties": {
            "documentId": {
              "type": "string",
              "description": "Id of the document/file containing the report data."
            }
          },
          "description": "Download details for a file stored in Google Drive."
        },
        "dimensions": {
          "type": "string",
          "description": "The dimensions for the unsampled report."
        },
        "cloudStorageDownloadDetails": {
          "readOnly": true,
          "type": "object",
          "properties": {
            "bucketId": {
              "type": "string",
              "description": "Id of the bucket the file object is stored in."
            },
            "objectId": {
              "type": "string",
              "description": "Id of the file object containing the report data."
            }
          },
          "description": "Download details for a file stored in Google Cloud Storage."
        },
        "filters": {
          "type": "string",
          "description": "The filters for the unsampled report."
        },
        "id": {
          "type": "string",
          "description": "Unsampled report ID."
        },
        "segment": {
          "type": "string",
          "description": "The segment for the unsampled report."
        },
        "end-date": {
          "type": "string",
          "description": "The end date for the unsampled report.",
          "annotations": {
            "required": [
              "analytics.management.filters.insert",
              "analytics.management.unsampledReports.insert"
            ]
          }
        },
        "webPropertyId": {
          "type": "string",
          "description": "Web property ID to which this unsampled report belongs. The web property ID is of the form UA-XXXXX-YY."
        },
        "title": {
          "type": "string",
          "description": "Title of the unsampled report.",
          "annotations": {
            "required": [
              "analytics.management.filters.insert",
              "analytics.management.unsampledReports.insert"
            ]
          }
        },
        "metrics": {
          "description": "The metrics for the unsampled report.",
          "annotations": {
            "required": [
              "analytics.management.filters.insert",
              "analytics.management.unsampledReports.insert"
            ]
          },
          "type": "string"
        },
        "profileId": {
          "type": "string",
          "description": "View (Profile) ID to which this unsampled report belongs."
        },
        "start-date": {
          "description": "The start date for the unsampled report.",
          "annotations": {
            "required": [
              "analytics.management.filters.insert",
              "analytics.management.unsampledReports.insert"
            ]
          },
          "type": "string"
        }
      },
      "type": "object"
    },
    "WebPropertySummary": {
      "id": "WebPropertySummary",
      "properties": {
        "internalWebPropertyId": {
          "type": "string",
          "description": "Internal ID for this web property."
        },
        "profiles": {
          "type": "array",
          "description": "List of profiles under this web property.",
          "items": {
            "$ref": "ProfileSummary"
          }
        },
        "id": {
          "type": "string",
          "description": "Web property ID of the form UA-XXXXX-YY."
        },
        "kind": {
          "description": "Resource type for Analytics WebPropertySummary.",
          "default": "analytics#webPropertySummary",
          "type": "string"
        },
        "websiteUrl": {
          "type": "string",
          "description": "Website url for this web property."
        },
        "level": {
          "type": "string",
          "description": "Level for this web property. Possible values are STANDARD or PREMIUM."
        },
        "name": {
          "type": "string",
          "description": "Web property name."
        },
        "starred": {
          "type": "boolean",
          "description": "Indicates whether this web property is starred or not."
        }
      },
      "description": "JSON template for an Analytics WebPropertySummary. WebPropertySummary returns basic information (i.e., summary) for a web property.",
      "type": "object"
    },
    "GaData": {
      "id": "GaData",
      "properties": {
        "sampleSpace": {
          "type": "string",
          "format": "int64",
          "description": "Total size of the sample space from which the samples were selected."
        },
        "sampleSize": {
          "type": "string",
          "format": "int64",
          "description": "The number of samples used to calculate the result."
        },
        "totalResults": {
          "type": "integer",
          "format": "int32",
          "description": "The total number of rows for the query, regardless of the number of rows in the response."
        },
        "containsSampledData": {
          "type": "boolean",
          "description": "Determines if Analytics data contains samples."
        },
        "rows": {
          "type": "array",
          "items": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "description": "Analytics data rows, where each row contains a list of dimension values followed by the metric values. The order of dimensions and metrics is same as specified in the request."
        },
        "dataTable": {
          "type": "object",
          "properties": {
            "cols": {
              "type": "array",
              "items": {
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "label": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "rows": {
              "type": "array",
              "items": {
                "properties": {
                  "c": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "v": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "kind": {
          "description": "Resource type.",
          "default": "analytics#gaData",
          "type": "string"
        },
        "selfLink": {
          "type": "string",
          "description": "Link to this page."
        },
        "totalsForAllResults": {
          "description": "Total values for the requested metrics over all the results, not just the results returned in this response. The order of the metric totals is same as the metric order specified in the request.",
          "additionalProperties": {
            "type": "string",
            "description": "Key-value pair for the total value of a metric. Key is the metric name and the value is the total value for that metric."
          },
          "type": "object"
        },
        "itemsPerPage": {
          "type": "integer",
          "format": "int32",
          "description": "The maximum number of rows the response can contain, regardless of the actual number of rows returned. Its value ranges from 1 to 10,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter."
        },
        "dataLastRefreshed": {
          "description": "The last refreshed time in seconds for Analytics data.",
          "type": "string",
          "format": "int64"
        },
        "id": {
          "type": "string",
          "description": "Unique ID for this data response."
        },
        "query": {
          "properties": {
            "ids": {
              "type": "string",
              "description": "Unique table ID."
            },
            "max-results": {
              "type": "integer",
              "format": "int32",
              "description": "Maximum results per page."
            },
            "sort": {
              "items": {
                "type": "string"
              },
              "description": "List of dimensions or metrics based on which Analytics data is sorted.",
              "type": "array"
            },
            "filters": {
              "type": "string",
              "description": "Comma-separated list of dimension or metric filters."
            },
            "start-index": {
              "type": "integer",
              "format": "int32",
              "description": "Start index."
            },
            "segment": {
              "type": "string",
              "description": "Analytics advanced segment."
            },
            "end-date": {
              "type": "string",
              "description": "End date."
            },
            "metrics": {
              "description": "List of analytics metrics.",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "samplingLevel": {
              "type": "string",
              "description": "Desired sampling level"
            },
            "start-date": {
              "type": "string",
              "description": "Start date."
            },
            "dimensions": {
              "type": "string",
              "description": "List of analytics dimensions."
            }
          },
          "description": "Analytics data request query parameters.",
          "type": "object"
        },
        "columnHeaders": {
          "description": "Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request.",
          "items": {
            "properties": {
              "dataType": {
                "type": "string",
                "description": "Data type. Dimension column headers have only STRING as the data type. Metric column headers have data types for metric values such as INTEGER, DOUBLE, CURRENCY etc."
              },
              "name": {
                "type": "string",
                "description": "Column name."
              },
              "columnType": {
                "type": "string",
                "description": "Column Type. Either DIMENSION or METRIC."
              }
            },
            "type": "object"
          },
          "type": "array"
        },
        "nextLink": {
          "type": "string",
          "description": "Link to next page for this Analytics data query."
        },
        "profileInfo": {
          "type": "object",
          "description": "Information for the view (profile), for which the Analytics data was requested.",
          "properties": {
            "profileId": {
              "type": "string",
              "description": "View (Profile) ID."
            },
            "profileName": {
              "type": "string",
              "description": "View (Profile) name."
            },
            "internalWebPropertyId": {
              "type": "string",
              "description": "Internal ID for the web property to which this view (profile) belongs."
            },
            "webPropertyId": {
              "type": "string",
              "description": "Web Property ID to which this view (profile) belongs."
            },
            "accountId": {
              "type": "string",
              "description": "Account ID to which this view (profile) belongs."
            },
            "tableId": {
              "type": "string",
              "description": "Table ID for view (profile)."
            }
          }
        },
        "previousLink": {
          "type": "string",
          "description": "Link to previous page for this Analytics data query."
        }
      },
      "description": "Analytics data for a given view (profile).",
      "type": "object"
    },
    "AccountTicket": {
      "type": "object",
      "id": "AccountTicket",
      "properties": {
        "account": {
          "$ref": "Account",
          "description": "Account for this ticket."
        },
        "webproperty": {
          "$ref": "Webproperty",
          "description": "Web property for the account."
        },
        "profile": {
          "$ref": "Profile",
          "description": "View (Profile) for the account."
        },
        "redirectUri": {
          "type": "string",
          "description": "Redirect URI where the user will be sent after accepting Terms of Service. Must be configured in APIs console as a callback URL."
        },
        "id": {
          "type": "string",
          "description": "Account ticket ID used to access the account ticket."
        },
        "kind": {
          "type": "string",
          "description": "Resource type for account ticket.",
          "default": "analytics#accountTicket"
        }
      },
      "description": "JSON template for an Analytics account ticket. The account ticket consists of the ticket ID and the basic information for the account, property and profile."
    },
    "ProfileRef": {
      "description": "JSON template for a linked view (profile).",
      "id": "ProfileRef",
      "properties": {
        "accountId": {
          "type": "string",
          "description": "Account ID to which this view (profile) belongs."
        },
        "webPropertyId": {
          "type": "string",
          "description": "Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs."
        },
        "href": {
          "type": "string",
          "description": "Link for this view (profile)."
        },
        "internalWebPropertyId": {
          "type": "string",
          "description": "Internal ID for the web property to which this view (profile) belongs."
        },
        "name": {
          "type": "string",
          "description": "Name of this view (profile)."
        },
        "id": {
          "type": "string",
          "description": "View (Profile) ID."
        },
        "kind": {
          "description": "Analytics view (profile) reference.",
          "default": "analytics#profileRef",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AccountRef": {
      "type": "object",
      "description": "JSON template for a linked account.",
      "id": "AccountRef",
      "properties": {
        "href": {
          "type": "string",
          "description": "Link for this account."
        },
        "id": {
          "type": "string",
          "description": "Account ID."
        },
        "kind": {
          "type": "string",
          "description": "Analytics account reference.",
          "default": "analytics#accountRef"
        },
        "name": {
          "type": "string",
          "description": "Account name."
        }
      }
    },
    "Upload": {
      "id": "Upload",
      "properties": {
        "id": {
          "type": "string",
          "description": "A unique ID for this upload."
        },
        "kind": {
          "description": "Resource type for Analytics upload.",
          "default": "analytics#upload",
          "type": "string"
        },
        "accountId": {
          "type": "string",
          "format": "int64",
          "description": "Account Id to which this upload belongs."
        },
        "customDataSourceId": {
          "type": "string",
          "description": "Custom data source Id to which this data import belongs."
        },
        "errors": {
          "items": {
            "type": "string"
          },
          "description": "Data import errors collection.",
          "type": "array"
        },
        "status": {
          "type": "string",
          "description": "Upload status. Possible values: PENDING, COMPLETED, FAILED, DELETING, DELETED."
        },
        "uploadTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time this file is uploaded."
        }
      },
      "description": "Metadata returned for an upload operation.",
      "type": "object"
    },
    "EntityUserLink": {
      "type": "object",
      "id": "EntityUserLink",
      "properties": {
        "userRef": {
          "$ref": "UserRef",
          "description": "User reference."
        },
        "id": {
          "type": "string",
          "description": "Entity user link ID"
        },
        "kind": {
          "type": "string",
          "description": "Resource type for entity user link.",
          "default": "analytics#entityUserLink"
        },
        "selfLink": {
          "type": "string",
          "description": "Self link for this resource."
        },
        "entity": {
          "type": "object",
          "properties": {
            "accountRef": {
              "$ref": "AccountRef",
              "description": "Account for this link."
            },
            "profileRef": {
              "$ref": "ProfileRef",
              "description": "View (Profile) for this link."
            },
            "webPropertyRef": {
              "$ref": "WebPropertyRef",
              "description": "Web property for this link."
            }
          },
          "description": "Entity for this link. It can be an account, a web property, or a view (profile)."
        },
        "permissions": {
          "type": "object",
          "properties": {
            "effective": {
              "type": "array",
              "readOnly": true,
              "description": "Effective permissions represent all the permissions that a user has for this entity. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent entity. Effective permissions are read-only.",
              "items": {
                "type": "string"
              }
            },
            "local": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Permissions that a user has been assigned at this very level. Does not include any implied or inherited permissions. Local permissions are modifiable."
            }
          },
          "description": "Permissions the user has for this entity."
        }
      },
      "description": "JSON template for an Analytics Entity-User Link. Returns permissions that a user has for an entity."
    },
    "RealtimeData": {
      "description": "Real time data for a given view (profile).",
      "id": "RealtimeData",
      "properties": {
        "columnHeaders": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "dataType": {
                "type": "string",
                "description": "Data type. Dimension column headers have only STRING as the data type. Metric column headers have data types for metric values such as INTEGER, DOUBLE, CURRENCY etc."
              },
              "columnType": {
                "type": "string",
                "description": "Column Type. Either DIMENSION or METRIC."
              },
              "name": {
                "type": "string",
                "description": "Column name."
              }
            }
          },
          "description": "Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request."
        },
        "rows": {
          "items": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "description": "Real time data rows, where each row contains a list of dimension values followed by the metric values. The order of dimensions and metrics is same as specified in the request.",
          "type": "array"
        },
        "id": {
          "type": "string",
          "description": "Unique ID for this data response."
        },
        "totalResults": {
          "description": "The total number of rows for the query, regardless of the number of rows in the response.",
          "type": "integer",
          "format": "int32"
        },
        "query": {
          "type": "object",
          "description": "Real time data request query parameters.",
          "properties": {
            "metrics": {
              "items": {
                "type": "string"
              },
              "description": "List of real time metrics.",
              "type": "array"
            },
            "sort": {
              "type": "array",
              "description": "List of dimensions or metrics based on which real time data is sorted.",
              "items": {
                "type": "string"
              }
            },
            "ids": {
              "type": "string",
              "description": "Unique table ID."
            },
            "max-results": {
              "type": "integer",
              "format": "int32",
              "description": "Maximum results per page."
            },
            "filters": {
              "type": "string",
              "description": "Comma-separated list of dimension or metric filters."
            },
            "dimensions": {
              "type": "string",
              "description": "List of real time dimensions."
            }
          }
        },
        "totalsForAllResults": {
          "description": "Total values for the requested metrics over all the results, not just the results returned in this response. The order of the metric totals is same as the metric order specified in the request.",
          "additionalProperties": {
            "type": "string",
            "description": "Key-value pair for the total value of a metric. Key is the metric name and the value is the total value for that metric."
          },
          "type": "object"
        },
        "kind": {
          "type": "string",
          "description": "Resource type.",
          "default": "analytics#realtimeData"
        },
        "selfLink": {
          "type": "string",
          "description": "Link to this page."
        },
        "profileInfo": {
          "type": "object",
          "properties": {
            "accountId": {
              "type": "string",
              "description": "Account ID to which this view (profile) belongs."
            },
            "tableId": {
              "type": "string",
              "description": "Table ID for view (profile)."
            },
            "webPropertyId": {
              "type": "string",
              "description": "Web Property ID to which this view (profile) belongs."
            },
            "internalWebPropertyId": {
              "type": "string",
              "description": "Internal ID for the web property to which this view (profile) belongs."
            },
            "profileId": {
              "type": "string",
              "description": "View (Profile) ID."
            },
            "profileName": {
              "type": "string",
              "description": "View (Profile) name."
            }
          },
          "description": "Information for the view (profile), for which the real time data was requested."
        }
      },
      "type": "object"
    },
    "EntityAdWordsLinks": {
      "id": "EntityAdWordsLinks",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "EntityAdWordsLink"
          },
          "description": "A list of entity Google Ads links."
        },
        "previousLink": {
          "type": "string",
          "description": "Previous link for this Google Ads link collection."
        },
        "itemsPerPage": {
          "type": "integer",
          "format": "int32",
          "description": "The maximum number of entries the response can contain, regardless of the actual number of entries returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter."
        },
        "totalResults": {
          "description": "The total number of results for the query, regardless of the number of results in the response.",
          "type": "integer",
          "format": "int32"
        },
        "kind": {
          "type": "string",
          "description": "Collection type.",
          "default": "analytics#entityAdWordsLinks"
        },
        "nextLink": {
          "type": "string",
          "description": "Next link for this Google Ads link collection."
        },
        "startIndex": {
          "description": "The starting index of the entries, which is 1 by default or otherwise specified by the start-index query parameter.",
          "type": "integer",
          "format": "int32"
        }
      },
      "description": "An entity Google Ads link collection provides a list of GA-Google Ads links Each resource in this collection corresponds to a single link.",
      "type": "object"
    },
    "RemarketingAudiences": {
      "id": "RemarketingAudiences",
      "properties": {
        "startIndex": {
          "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "kind": {
          "description": "Collection type.",
          "default": "analytics#remarketingAudiences",
          "type": "string"
        },
        "nextLink": {
          "type": "string",
          "description": "Link to next page for this remarketing audience collection."
        },
        "totalResults": {
          "type": "integer",
          "format": "int32",
          "description": "The total number of results for the query, regardless of the number of results in the response."
        },
        "itemsPerPage": {
          "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "previousLink": {
          "type": "string",
          "description": "Link to previous page for this view (profile) collection."
        },
        "items": {
          "description": "A list of remarketing audiences.",
          "items": {
            "$ref": "RemarketingAudience"
          },
          "type": "array"
        },
        "username": {
          "type": "string",
          "description": "Email ID of the authenticated user"
        }
      },
      "description": "A remarketing audience collection lists Analytics remarketing audiences to which the user has access. Each resource in the collection corresponds to a single Analytics remarketing audience.",
      "type": "object"
    },
    "EntityUserLinks": {
      "id": "EntityUserLinks",
      "properties": {
        "items": {
          "description": "A list of entity user links.",
          "items": {
            "$ref": "EntityUserLink"
          },
          "type": "array"
        },
        "previousLink": {
          "type": "string",
          "description": "Previous link for this account collection."
        },
        "itemsPerPage": {
          "description": "The maximum number of entries the response can contain, regardless of the actual number of entries returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "totalResults": {
          "description": "The total number of results for the query, regardless of the number of results in the response.",
          "type": "integer",
          "format": "int32"
        },
        "kind": {
          "description": "Collection type.",
          "default": "analytics#entityUserLinks",
          "type": "string"
        },
        "nextLink": {
          "type": "string",
          "description": "Next link for this account collection."
        },
        "startIndex": {
          "type": "integer",
          "format": "int32",
          "description": "The starting index of the entries, which is 1 by default or otherwise specified by the start-index query parameter."
        }
      },
      "description": "An entity user link collection provides a list of Analytics ACL links Each resource in this collection corresponds to a single link.",
      "type": "object"
    },
    "Account": {
      "type": "object",
      "id": "Account",
      "properties": {
        "permissions": {
          "properties": {
            "effective": {
              "items": {
                "type": "string"
              },
              "description": "All the permissions that the user has for this account. These include any implied permissions (e.g., EDIT implies VIEW).",
              "readOnly": true,
              "type": "array"
            }
          },
          "description": "Permissions the user has for this account.",
          "type": "object"
        },
        "childLink": {
          "properties": {
            "href": {
              "type": "string",
              "description": "Link to the list of web properties for this account."
            },
            "type": {
              "description": "Type of the child link. Its value is \"analytics#webproperties\".",
              "default": "analytics#webproperties",
              "type": "string"
            }
          },
          "description": "Child link for an account entry. Points to the list of web properties for this account.",
          "type": "object"
        },
        "name": {
          "type": "string",
          "description": "Account name."
        },
        "id": {
          "type": "string",
          "description": "Account ID."
        },
        "updated": {
          "description": "Time the account was last modified.",
          "type": "string",
          "format": "date-time"
        },
        "created": {
          "description": "Time the account was created.",
          "type": "string",
          "format": "date-time"
        },
        "starred": {
          "type": "boolean",
          "description": "Indicates whether this account is starred or not."
        },
        "kind": {
          "description": "Resource type for Analytics account.",
          "default": "analytics#account",
          "type": "string"
        },
        "selfLink": {
          "type": "string",
          "description": "Link for this account."
        }
      },
      "description": "JSON template for Analytics account entry."
    },
    "UserDeletionRequest": {
      "description": "JSON template for a user deletion request resource.",
      "id": "UserDeletionRequest",
      "properties": {
        "propertyId": {
          "type": "string",
          "description": "Property ID"
        },
        "firebaseProjectId": {
          "type": "string",
          "description": "Firebase Project Id"
        },
        "id": {
          "type": "object",
          "description": "User ID.",
          "properties": {
            "type": {
              "type": "string",
              "description": "Type of user"
            },
            "userId": {
              "type": "string",
              "description": "The User's id"
            }
          }
        },
        "kind": {
          "description": "Value is \"analytics#userDeletionRequest\".",
          "default": "analytics#userDeletionRequest",
          "type": "string"
        },
        "deletionRequestTime": {
          "description": "This marks the point in time for which all user data before should be deleted",
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "webPropertyId": {
          "type": "string",
          "description": "Web property ID of the form UA-XXXXX-YY."
        }
      },
      "type": "object"
    },
    "CustomDataSource": {
      "description": "JSON template for an Analytics custom data source.",
      "id": "CustomDataSource",
      "properties": {
        "profilesLinked": {
          "description": "IDs of views (profiles) linked to the custom data source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "schema": {
          "items": {
            "type": "string"
          },
          "description": "Collection of schema headers of the custom data source.",
          "type": "array"
        },
        "created": {
          "type": "string",
          "format": "date-time",
          "description": "Time this custom data source was created."
        },
        "kind": {
          "type": "string",
          "description": "Resource type for Analytics custom data source.",
          "default": "analytics#customDataSource"
        },
        "selfLink": {
          "type": "string",
          "description": "Link for this Analytics custom data source."
        },
        "accountId": {
          "type": "string",
          "description": "Account ID to which this custom data source belongs."
        },
        "name": {
          "type": "string",
          "description": "Name of this custom data source."
        },
        "updated": {
          "type": "string",
          "format": "date-time",
          "description": "Time this custom data source was last modified."
        },
        "uploadType": {
          "type": "string",
          "description": "Upload type of the custom data source."
        },
        "description": {
          "type": "string",
          "description": "Description of custom data source."
        },
        "importBehavior": {
          "type": "string"
        },
        "webPropertyId": {
          "type": "string",
          "description": "Web property ID of the form UA-XXXXX-YY to which this custom data source belongs."
        },
        "type": {
          "type": "string",
          "description": "Type of the custom data source."
        },
        "parentLink": {
          "type": "object",
          "description": "Parent link for this custom data source. Points to the web property to which this custom data source belongs.",
          "properties": {
            "type": {
              "type": "string",
              "description": "Value is \"analytics#webproperty\".",
              "default": "analytics#webproperty"
            },
            "href": {
              "type": "string",
              "description": "Link to the web property to which this custom data source belongs."
            }
          }
        },
        "childLink": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Value is \"analytics#dailyUploads\". Value is \"analytics#uploads\"."
            },
            "href": {
              "type": "string",
              "description": "Link to the list of daily uploads for this custom data source. Link to the list of uploads for this custom data source."
            }
          }
        },
        "id": {
          "type": "string",
          "description": "Custom data source ID."
        }
      },
      "type": "object"
    },
    "FilterRef": {
      "id": "FilterRef",
      "properties": {
        "accountId": {
          "description": "Account ID to which this filter belongs.",
          "readOnly": true,
          "type": "string"
        },
        "href": {
          "type": "string",
          "description": "Link for this filter."
        },
        "name": {
          "readOnly": true,
          "type": "string",
          "description": "Name of this filter."
        },
        "id": {
          "description": "Filter ID.",
          "annotations": {
            "required": [
              "analytics.management.profileFilterLinks.insert"
            ]
          },
          "type": "string"
        },
        "kind": {
          "description": "Kind value for filter reference.",
          "default": "analytics#filterRef",
          "type": "string"
        }
      },
      "description": "JSON template for a profile filter link.",
      "type": "object"
    },
    "Segment": {
      "id": "Segment",
      "properties": {
        "created": {
          "type": "string",
          "format": "date-time",
          "description": "Time the segment was created."
        },
        "segmentId": {
          "type": "string",
          "description": "Segment ID. Can be used with the 'segment' parameter in Core Reporting API."
        },
        "kind": {
          "description": "Resource type for Analytics segment.",
          "default": "analytics#segment",
          "type": "string"
        },
        "selfLink": {
          "type": "string",
          "description": "Link for this segment."
        },
        "type": {
          "type": "string",
          "description": "Type for a segment. Possible values are \"BUILT_IN\" or \"CUSTOM\"."
        },
        "definition": {
          "type": "string",
          "description": "Segment definition."
        },
        "id": {
          "type": "string",
          "description": "Segment ID."
        },
        "updated": {
          "type": "string",
          "format": "date-time",
          "description": "Time the segment was last modified."
        },
        "name": {
          "type": "string",
          "description": "Segment name."
        }
      },
      "description": "JSON template for an Analytics segment.",
      "type": "object"
    },
    "McfData": {
      "description": "Multi-Channel Funnels data for a given view (profile).",
      "id": "McfData",
      "properties": {
        "sampleSize": {
          "description": "The number of samples used to calculate the result.",
          "type": "string",
          "format": "int64"
        },
        "totalResults": {
          "description": "The total number of rows for the query, regardless of the number of rows in the response.",
          "type": "integer",
          "format": "int32"
        },
        "sampleSpace": {
          "type": "string",
          "format": "int64",
          "description": "Total size of the sample space from which the samples were selected."
        },
        "containsSampledData": {
          "type": "boolean",
          "description": "Determines if the Analytics data contains sampled data."
        },
        "rows": {
          "type": "array",
          "description": "Analytics data rows, where each row contains a list of dimension values followed by the metric values. The order of dimensions and metrics is same as specified in the request.",
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "primitiveValue": {
                  "type": "string",
                  "description": "A primitive dimension value. A primitive metric value."
                },
                "conversionPathValue": {
                  "type": "array",
                  "description": "A conversion path dimension value, containing a list of interactions with their attributes.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "interactionType": {
                        "type": "string",
                        "description": "Type of an interaction on conversion path. Such as CLICK, IMPRESSION etc."
                      },
                      "nodeValue": {
                        "type": "string",
                        "description": "Node value of an interaction on conversion path. Such as source, medium etc."
                      }
                    }
                  }
                }
              },
              "description": "A union object representing a dimension or metric value. Only one of \"primitiveValue\" or \"conversionPathValue\" attribute will be populated."
            }
          }
        },
        "itemsPerPage": {
          "type": "integer",
          "format": "int32",
          "description": "The maximum number of rows the response can contain, regardless of the actual number of rows returned. Its value ranges from 1 to 10,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter."
        },
        "totalsForAllResults": {
          "description": "Total values for the requested metrics over all the results, not just the results returned in this response. The order of the metric totals is same as the metric order specified in the request.",
          "additionalProperties": {
            "type": "string",
            "description": "Key-value pair for the total value of a metric. Key is the metric name and the value is the total value for that metric."
          },
          "type": "object"
        },
        "kind": {
          "description": "Resource type.",
          "default": "analytics#mcfData",
          "type": "string"
        },
        "selfLink": {
          "type": "string",
          "description": "Link to this page."
        },
        "query": {
          "properties": {
            "metrics": {
              "items": {
                "type": "string"
              },
              "description": "List of analytics metrics.",
              "type": "array"
            },
            "samplingLevel": {
              "type": "string",
              "description": "Desired sampling level"
            },
            "dimensions": {
              "type": "string",
              "description": "List of analytics dimensions."
            },
            "start-date": {
              "type": "string",
              "description": "Start date."
            },
            "sort": {
              "description": "List of dimensions or metrics based on which Analytics data is sorted.",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "ids": {
              "type": "string",
              "description": "Unique table ID."
            },
            "max-results": {
              "description": "Maximum results per page.",
              "type": "integer",
              "format": "int32"
            },
            "start-index": {
              "description": "Start index.",
              "type": "integer",
              "format": "int32"
            },
            "filters": {
              "type": "string",
              "description": "Comma-separated list of dimension or metric filters."
            },
            "segment": {
              "type": "string",
              "description": "Analytics advanced segment."
            },
            "end-date": {
              "type": "string",
              "description": "End date."
            }
          },
          "description": "Analytics data request query parameters.",
          "type": "object"
        },
        "id": {
          "type": "string",
          "description": "Unique ID for this data response."
        },
        "columnHeaders": {
          "items": {
            "type": "object",
            "properties": {
              "columnType": {
                "type": "string",
                "description": "Column Type. Either DIMENSION or METRIC."
              },
              "name": {
                "type": "string",
                "description": "Column name."
              },
              "dataType": {
                "type": "string",
                "description": "Data type. Dimension and metric values data types such as INTEGER, DOUBLE, CURRENCY, MCF_SEQUENCE etc."
              }
            }
          },
          "description": "Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request.",
          "type": "array"
        },
        "profileInfo": {
          "type": "object",
          "description": "Information for the view (profile), for which the Analytics data was requested.",
          "properties": {
            "accountId": {
              "type": "string",
              "description": "Account ID to which this view (profile) belongs."
            },
            "tableId": {
              "type": "string",
              "description": "Table ID for view (profile)."
            },
            "webPropertyId": {
              "type": "string",
              "description": "Web Property ID to which this view (profile) belongs."
            },
            "internalWebPropertyId": {
              "type": "string",
              "description": "Internal ID for the web property to which this view (profile) belongs."
            },
            "profileId": {
              "type": "string",
              "description": "View (Profile) ID."
            },
            "profileName": {
              "type": "string",
              "description": "View (Profile) name."
            }
          }
        },
        "nextLink": {
          "type": "string",
          "description": "Link to next page for this Analytics data query."
        },
        "previousLink": {
          "type": "string",
          "description": "Link to previous page for this Analytics data query."
        }
      },
      "type": "object"
    },
    "EntityAdWordsLink": {
      "id": "EntityAdWordsLink",
      "properties": {
        "profileIds": {
          "items": {
            "type": "string"
          },
          "description": "IDs of linked Views (Profiles) represented as strings.",
          "type": "array"
        },
        "name": {
          "description": "Name of the link. This field is required when creating a Google Ads link.",
          "annotations": {
            "required": [
              "analytics.management.webPropertyAdWordsLinks.insert",
              "analytics.management.webPropertyAdWordsLinks.update"
            ]
          },
          "type": "string"
        },
        "id": {
          "type": "string",
          "description": "Entity Google Ads link ID"
        },
        "kind": {
          "type": "string",
          "description": "Resource type for entity Google Ads link.",
          "default": "analytics#entityAdWordsLink"
        },
        "selfLink": {
          "type": "string",
          "description": "URL link for this Google Analytics - Google Ads link."
        },
        "adWordsAccounts": {
          "description": "A list of Google Ads client accounts. These cannot be MCC accounts. This field is required when creating a Google Ads link. It cannot be empty.",
          "annotations": {
            "required": [
              "analytics.management.webPropertyAdWordsLinks.insert",
              "analytics.management.webPropertyAdWordsLinks.update"
            ]
          },
          "items": {
            "$ref": "AdWordsAccount"
          },
          "type": "array"
        },
        "entity": {
          "properties": {
            "webPropertyRef": {
              "$ref": "WebPropertyRef"
            }
          },
          "description": "Web property being linked.",
          "type": "object"
        }
      },
      "description": "JSON template for Analytics Entity Google Ads Link.",
      "type": "object"
    },
    "Webproperty": {
      "id": "Webproperty",
      "properties": {
        "dataRetentionTtl": {
          "type": "string",
          "description": "The length of time for which user and event data is retained.\nThis property cannot be set on insert."
        },
        "parentLink": {
          "properties": {
            "href": {
              "type": "string",
              "description": "Link to the account for this web property."
            },
            "type": {
              "description": "Type of the parent link. Its value is \"analytics#account\".",
              "default": "analytics#account",
              "type": "string"
            }
          },
          "description": "Parent link for this web property. Points to the account to which this web property belongs.",
          "type": "object"
        },
        "childLink": {
          "type": "object",
          "description": "Child link for this web property. Points to the list of views (profiles) for this web property.",
          "properties": {
            "href": {
              "type": "string",
              "description": "Link to the list of views (profiles) for this web property."
            },
            "type": {
              "type": "string",
              "description": "Type of the parent link. Its value is \"analytics#profiles\".",
              "default": "analytics#profiles"
            }
          }
        },
        "level": {
          "readOnly": true,
          "type": "string",
          "description": "Level for this web property. Possible values are STANDARD or PREMIUM."
        },
        "id": {
          "type": "string",
          "description": "Web property ID of the form UA-XXXXX-YY."
        },
        "dataRetentionResetOnNewActivity": {
          "type": "boolean",
          "description": "Set to true to reset the retention period of the user identifier with each new event from that user (thus setting the expiration date to current time plus retention period).\nSet to false to delete data associated with the user identifier automatically after the rentention period.\nThis property cannot be set on insert."
        },
        "industryVertical": {
          "type": "string",
          "description": "The industry vertical/category selected for this web property."
        },
        "accountId": {
          "type": "string",
          "description": "Account ID to which this web property belongs."
        },
        "internalWebPropertyId": {
          "readOnly": true,
          "type": "string",
          "description": "Internal ID for this web property."
        },
        "permissions": {
          "description": "Permissions the user has for this web property.",
          "properties": {
            "effective": {
              "description": "All the permissions that the user has for this web property. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent account.",
              "items": {
                "type": "string"
              },
              "type": "array",
              "readOnly": true
            }
          },
          "type": "object"
        },
        "name": {
          "type": "string",
          "description": "Name of this web property."
        },
        "updated": {
          "description": "Time this web property was last modified.",
          "readOnly": true,
          "type": "string",
          "format": "date-time"
        },
        "created": {
          "readOnly": true,
          "type": "string",
          "format": "date-time",
          "description": "Time this web property was created."
        },
        "defaultProfileId": {
          "description": "Default view (profile) ID.",
          "type": "string",
          "format": "int64"
        },
        "starred": {
          "type": "boolean",
          "description": "Indicates whether this web property is starred or not."
        },
        "kind": {
          "type": "string",
          "readOnly": true,
          "description": "Resource type for Analytics WebProperty.",
          "default": "analytics#webproperty"
        },
        "profileCount": {
          "description": "View (Profile) count for this web property.",
          "type": "integer",
          "format": "int32",
          "readOnly": true
        },
        "selfLink": {
          "readOnly": true,
          "type": "string",
          "description": "Link for this web property."
        },
        "websiteUrl": {
          "type": "string",
          "description": "Website url for this web property."
        }
      },
      "description": "JSON template for an Analytics web property.",
      "type": "object"
    },
    "RemarketingAudience": {
      "description": "JSON template for an Analytics remarketing audience.",
      "id": "RemarketingAudience",
      "properties": {
        "audienceDefinition": {
          "type": "object",
          "description": "The simple audience definition that will cause a user to be added to an audience.",
          "properties": {
            "includeConditions": {
              "$ref": "IncludeConditions",
              "description": "Defines the conditions to include users to the audience."
            }
          }
        },
        "description": {
          "readOnly": true,
          "type": "string",
          "description": "The description of this remarketing audience."
        },
        "webPropertyId": {
          "type": "string",
          "description": "Web property ID of the form UA-XXXXX-YY to which this remarketing audience belongs."
        },
        "stateBasedAudienceDefinition": {
          "properties": {
            "excludeConditions": {
              "description": "Defines the conditions to exclude users from the audience.",
              "properties": {
                "segment": {
                  "type": "string",
                  "description": "The segment condition that will cause a user to be removed from an audience."
                },
                "exclusionDuration": {
                  "type": "string",
                  "description": "Whether to make the exclusion TEMPORARY or PERMANENT."
                }
              },
              "type": "object"
            },
            "includeConditions": {
              "$ref": "IncludeConditions",
              "description": "Defines the conditions to include users to the audience."
            }
          },
          "description": "A state based audience definition that will cause a user to be added or removed from an audience.",
          "type": "object"
        },
        "id": {
          "type": "string",
          "description": "Remarketing Audience ID."
        },
        "created": {
          "description": "Time this remarketing audience was created.",
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "kind": {
          "description": "Collection type.",
          "default": "analytics#remarketingAudience",
          "type": "string"
        },
        "audienceType": {
          "type": "string",
          "description": "The type of audience, either SIMPLE or STATE_BASED."
        },
        "accountId": {
          "type": "string",
          "description": "Account ID to which this remarketing audience belongs."
        },
        "linkedAdAccounts": {
          "type": "array",
          "items": {
            "$ref": "LinkedForeignAccount"
          },
          "description": "The linked ad accounts associated with this remarketing audience. A remarketing audience can have only one linkedAdAccount currently."
        },
        "linkedViews": {
          "type": "array",
          "description": "The views (profiles) that this remarketing audience is linked to.",
          "items": {
            "type": "string"
          }
        },
        "internalWebPropertyId": {
          "description": "Internal ID for the web property to which this remarketing audience belongs.",
          "type": "string",
          "readOnly": true
        },
        "updated": {
          "type": "string",
          "format": "date-time",
          "readOnly": true,
          "description": "Time this remarketing audience was last modified."
        },
        "name": {
          "type": "string",
          "description": "The name of this remarketing audience."
        }
      },
      "type": "object"
    },
    "FilterExpression": {
      "type": "object",
      "description": "JSON template for an Analytics filter expression.",
      "id": "FilterExpression",
      "properties": {
        "field": {
          "type": "string",
          "description": "Field to filter. Possible values:  \n- Content and Traffic  \n- PAGE_REQUEST_URI, \n- PAGE_HOSTNAME, \n- PAGE_TITLE, \n- REFERRAL, \n- COST_DATA_URI (Campaign target URL), \n- HIT_TYPE, \n- INTERNAL_SEARCH_TERM, \n- INTERNAL_SEARCH_TYPE, \n- SOURCE_PROPERTY_TRACKING_ID,   \n- Campaign or AdGroup  \n- CAMPAIGN_SOURCE, \n- CAMPAIGN_MEDIUM, \n- CAMPAIGN_NAME, \n- CAMPAIGN_AD_GROUP, \n- CAMPAIGN_TERM, \n- CAMPAIGN_CONTENT, \n- CAMPAIGN_CODE, \n- CAMPAIGN_REFERRAL_PATH,   \n- E-Commerce  \n- TRANSACTION_COUNTRY, \n- TRANSACTION_REGION, \n- TRANSACTION_CITY, \n- TRANSACTION_AFFILIATION (Store or order location), \n- ITEM_NAME, \n- ITEM_CODE, \n- ITEM_VARIATION, \n- TRANSACTION_ID, \n- TRANSACTION_CURRENCY_CODE, \n- PRODUCT_ACTION_TYPE,   \n- Audience/Users  \n- BROWSER, \n- BROWSER_VERSION, \n- BROWSER_SIZE, \n- PLATFORM, \n- PLATFORM_VERSION, \n- LANGUAGE, \n- SCREEN_RESOLUTION, \n- SCREEN_COLORS, \n- JAVA_ENABLED (Boolean Field), \n- FLASH_VERSION, \n- GEO_SPEED (Connection speed), \n- VISITOR_TYPE, \n- GEO_ORGANIZATION (ISP organization), \n- GEO_DOMAIN, \n- GEO_IP_ADDRESS, \n- GEO_IP_VERSION,   \n- Location  \n- GEO_COUNTRY, \n- GEO_REGION, \n- GEO_CITY,   \n- Event  \n- EVENT_CATEGORY, \n- EVENT_ACTION, \n- EVENT_LABEL,   \n- Other  \n- CUSTOM_FIELD_1, \n- CUSTOM_FIELD_2, \n- USER_DEFINED_VALUE,   \n- Application  \n- APP_ID, \n- APP_INSTALLER_ID, \n- APP_NAME, \n- APP_VERSION, \n- SCREEN, \n- IS_APP (Boolean Field), \n- IS_FATAL_EXCEPTION (Boolean Field), \n- EXCEPTION_DESCRIPTION,   \n- Mobile device  \n- IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile), \n- IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet), \n- DEVICE_CATEGORY, \n- MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field), \n- MOBILE_HAS_NFC_SUPPORT (Boolean Field), \n- MOBILE_HAS_CELLULAR_RADIO (Boolean Field), \n- MOBILE_HAS_WIFI_SUPPORT (Boolean Field), \n- MOBILE_BRAND_NAME, \n- MOBILE_MODEL_NAME, \n- MOBILE_MARKETING_NAME, \n- MOBILE_POINTING_METHOD,   \n- Social  \n- SOCIAL_NETWORK, \n- SOCIAL_ACTION, \n- SOCIAL_ACTION_TARGET,   \n- Custom dimension  \n- CUSTOM_DIMENSION (See accompanying field index),"
        },
        "caseSensitive": {
          "type": "boolean",
          "description": "Determines if the filter is case sensitive."
        },
        "matchType": {
          "type": "string",
          "description": "Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, or MATCHES. GEO_DOMAIN, GEO_IP_ADDRESS, PAGE_REQUEST_URI, or PAGE_HOSTNAME filters can use any match type; all other filters must use MATCHES."
        },
        "kind": {
          "description": "Kind value for filter expression",
          "default": "analytics#filterExpression",
          "type": "string"
        },
        "expressionValue": {
          "type": "string",
          "description": "Filter expression value"
        },
        "fieldIndex": {
          "type": "integer",
          "format": "int32",
          "description": "The Index of the custom dimension. Set only if the field is a is CUSTOM_DIMENSION."
        }
      }
    },
    "Accounts": {
      "description": "An account collection provides a list of Analytics accounts to which a user has access. The account collection is the entry point to all management information. Each resource in the collection corresponds to a single Analytics account.",
      "id": "Accounts",
      "properties": {
        "kind": {
          "type": "string",
          "description": "Collection type.",
          "default": "analytics#accounts"
        },
        "nextLink": {
          "type": "string",
          "description": "Next link for this account collection."
        },
        "startIndex": {
          "description": "The starting index of the entries, which is 1 by default or otherwise specified by the start-index query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "itemsPerPage": {
          "type": "integer",
          "format": "int32",
          "description": "The maximum number of entries the response can contain, regardless of the actual number of entries returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter."
        },
        "totalResults": {
          "type": "integer",
          "format": "int32",
          "description": "The total number of results for the query, regardless of the number of results in the response."
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "Account"
          },
          "description": "A list of accounts."
        },
        "username": {
          "type": "string",
          "description": "Email ID of the authenticated user"
        },
        "previousLink": {
          "type": "string",
          "description": "Previous link for this account collection."
        }
      },
      "type": "object"
    },
    "CustomDataSources": {
      "id": "CustomDataSources",
      "properties": {
        "itemsPerPage": {
          "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "totalResults": {
          "type": "integer",
          "format": "int32",
          "description": "The total number of results for the query, regardless of the number of results in the response."
        },
        "kind": {
          "description": "Collection type.",
          "default": "analytics#customDataSources",
          "type": "string"
        },
        "nextLink": {
          "type": "string",
          "description": "Link to next page for this custom data source collection."
        },
        "startIndex": {
          "type": "integer",
          "format": "int32",
          "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter."
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "CustomDataSource"
          },
          "description": "Collection of custom data sources."
        },
        "username": {
          "type": "string",
          "description": "Email ID of the authenticated user"
        },
        "previousLink": {
          "type": "string",
          "description": "Link to previous page for this custom data source collection."
        }
      },
      "description": "Lists Analytics custom data sources to which the user has access. Each resource in the collection corresponds to a single Analytics custom data source.",
      "type": "object"
    },
    "ProfileSummary": {
      "type": "object",
      "description": "JSON template for an Analytics ProfileSummary. ProfileSummary returns basic information (i.e., summary) for a profile.",
      "id": "ProfileSummary",
      "properties": {
        "id": {
          "type": "string",
          "description": "View (profile) ID."
        },
        "kind": {
          "type": "string",
          "description": "Resource type for Analytics ProfileSummary.",
          "default": "analytics#profileSummary"
        },
        "name": {
          "type": "string",
          "description": "View (profile) name."
        },
        "starred": {
          "type": "boolean",
          "description": "Indicates whether this view (profile) is starred or not."
        },
        "type": {
          "type": "string",
          "description": "View (Profile) type. Supported types: WEB or APP."
        }
      }
    },
    "AccountSummary": {
      "id": "AccountSummary",
      "properties": {
        "name": {
          "type": "string",
          "description": "Account name."
        },
        "starred": {
          "type": "boolean",
          "description": "Indicates whether this account is starred or not."
        },
        "id": {
          "type": "string",
          "description": "Account ID."
        },
        "kind": {
          "description": "Resource type for Analytics AccountSummary.",
          "default": "analytics#accountSummary",
          "type": "string"
        },
        "webProperties": {
          "type": "array",
          "items": {
            "$ref": "WebPropertySummary"
          },
          "description": "List of web properties under this account."
        }
      },
      "description": "JSON template for an Analytics AccountSummary. An AccountSummary is a lightweight tree comprised of properties/profiles.",
      "type": "object"
    },
    "Segments": {
      "type": "object",
      "description": "An segment collection lists Analytics segments that the user has access to. Each resource in the collection corresponds to a single Analytics segment.",
      "id": "Segments",
      "properties": {
        "previousLink": {
          "type": "string",
          "description": "Link to previous page for this segment collection."
        },
        "items": {
          "description": "A list of segments.",
          "items": {
            "$ref": "Segment"
          },
          "type": "array"
        },
        "username": {
          "type": "string",
          "description": "Email ID of the authenticated user"
        },
        "startIndex": {
          "type": "integer",
          "format": "int32",
          "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter."
        },
        "kind": {
          "type": "string",
          "description": "Collection type for segments.",
          "default": "analytics#segments"
        },
        "nextLink": {
          "type": "string",
          "description": "Link to next page for this segment collection."
        },
        "totalResults": {
          "type": "integer",
          "format": "int32",
          "description": "The total number of results for the query, regardless of the number of results in the response."
        },
        "itemsPerPage": {
          "type": "integer",
          "format": "int32",
          "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter."
        }
      }
    },
    "WebPropertyRef": {
      "type": "object",
      "id": "WebPropertyRef",
      "properties": {
        "internalWebPropertyId": {
          "type": "string",
          "description": "Internal ID for this web property."
        },
        "name": {
          "type": "string",
          "description": "Name of this web property."
        },
        "id": {
          "type": "string",
          "description": "Web property ID of the form UA-XXXXX-YY."
        },
        "kind": {
          "description": "Analytics web property reference.",
          "default": "analytics#webPropertyRef",
          "type": "string"
        },
        "accountId": {
          "type": "string",
          "description": "Account ID to which this web property belongs."
        },
        "href": {
          "type": "string",
          "description": "Link for this web property."
        }
      },
      "description": "JSON template for a web property reference."
    },
    "Experiment": {
      "type": "object",
      "id": "Experiment",
      "properties": {
        "snippet": {
          "type": "string",
          "description": "The snippet of code to include on the control page(s). This field is read-only."
        },
        "webPropertyId": {
          "type": "string",
          "description": "Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only."
        },
        "reasonExperimentEnded": {
          "type": "string",
          "description": "Why the experiment ended. Possible values: \"STOPPED_BY_USER\", \"WINNER_FOUND\", \"EXPERIMENT_EXPIRED\", \"ENDED_WITH_NO_WINNER\", \"GOAL_OBJECTIVE_CHANGED\". \"ENDED_WITH_NO_WINNER\" means that the experiment didn't expire but no winner was projected to be found. If the experiment status is changed via the API to ENDED this field is set to STOPPED_BY_USER. This field is read-only."
        },
        "id": {
          "description": "Experiment ID. Required for patch and update. Disallowed for create.",
          "annotations": {
            "required": [
              "analytics.management.experiments.patch",
              "analytics.management.experiments.update"
            ]
          },
          "type": "string"
        },
        "objectiveMetric": {
          "type": "string",
          "description": "The metric that the experiment is optimizing. Valid values: \"ga:goal(n)Completions\", \"ga:adsenseAdsClicks\", \"ga:adsenseAdsViewed\", \"ga:adsenseRevenue\", \"ga:bounces\", \"ga:pageviews\", \"ga:sessionDuration\", \"ga:transactions\", \"ga:transactionRevenue\". This field is required if status is \"RUNNING\" and servingFramework is one of \"REDIRECT\" or \"API\"."
        },
        "description": {
          "type": "string",
          "description": "Notes about this experiment."
        },
        "profileId": {
          "type": "string",
          "description": "View (Profile) ID to which this experiment belongs. This field is read-only."
        },
        "equalWeighting": {
          "type": "boolean",
          "description": "Boolean specifying whether to distribute traffic evenly across all variations. If the value is False, content experiments follows the default behavior of adjusting traffic dynamically based on variation performance. Optional -- defaults to False. This field may not be changed for an experiment whose status is ENDED."
        },
        "optimizationType": {
          "type": "string",
          "description": "Whether the objectiveMetric should be minimized or maximized. Possible values: \"MAXIMUM\", \"MINIMUM\". Optional--defaults to \"MAXIMUM\". Cannot be specified without objectiveMetric. Cannot be modified when status is \"RUNNING\" or \"ENDED\"."
        },
        "startTime": {
          "type": "string",
          "format": "date-time",
          "description": "The starting time of the experiment (the time the status changed from READY_TO_RUN to RUNNING). This field is present only if the experiment has started. This field is read-only."
        },
        "created": {
          "type": "string",
          "format": "date-time",
          "description": "Time the experiment was created. This field is read-only."
        },
        "servingFramework": {
          "type": "string",
          "description": "The framework used to serve the experiment variations and evaluate the results. One of:  \n- REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results.\n- API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation.\n- EXTERNAL: The variations will be served externally and the chosen variation reported to Google Analytics. The caller is responsible for serving the selected variation and evaluating the results."
        },
        "variations": {
          "items": {
            "properties": {
              "url": {
                "type": "string",
                "description": "The URL of the variation. This field may not be changed for an experiment whose status is RUNNING or ENDED."
              },
              "won": {
                "type": "boolean",
                "description": "True if the experiment has ended and this variation performed (statistically) significantly better than the original. This field is read-only."
              },
              "status": {
                "type": "string",
                "description": "Status of the variation. Possible values: \"ACTIVE\", \"INACTIVE\". INACTIVE variations are not served. This field may not be changed for an experiment whose status is ENDED."
              },
              "name": {
                "type": "string",
                "description": "The name of the variation. This field is required when creating an experiment. This field may not be changed for an experiment whose status is ENDED.",
                "annotations": {
                  "required": [
                    "analytics.management.experiments.insert",
                    "analytics.management.experiments.update"
                  ]
                }
              },
              "weight": {
                "type": "number",
                "format": "double",
                "description": "Weight that this variation should receive. Only present if the experiment is running. This field is read-only."
              }
            },
            "type": "object"
          },
          "description": "Array of variations. The first variation in the array is the original. The number of variations may not change once an experiment is in the RUNNING state. At least two variations are required before status can be set to RUNNING.",
          "type": "array"
        },
        "editableInGaUi": {
          "type": "boolean",
          "description": "If true, the end user will be able to edit the experiment via the Google Analytics user interface."
        },
        "parentLink": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Value is \"analytics#profile\". This field is read-only.",
              "default": "analytics#profile"
            },
            "href": {
              "type": "string",
              "description": "Link to the view (profile) to which this experiment belongs. This field is read-only."
            }
          },
          "description": "Parent link for an experiment. Points to the view (profile) to which this experiment belongs."
        },
        "rewriteVariationUrlsAsOriginal": {
          "type": "boolean",
          "description": "Boolean specifying whether variations URLS are rewritten to match those of the original. This field may not be changed for an experiments whose status is ENDED."
        },
        "minimumExperimentLengthInDays": {
          "type": "integer",
          "format": "int32",
          "description": "An integer number in [3, 90]. Specifies the minimum length of the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED."
        },
        "accountId": {
          "type": "string",
          "description": "Account ID to which this experiment belongs. This field is read-only."
        },
        "status": {
          "type": "string",
          "description": "Experiment status. Possible values: \"DRAFT\", \"READY_TO_RUN\", \"RUNNING\", \"ENDED\". Experiments can be created in the \"DRAFT\", \"READY_TO_RUN\" or \"RUNNING\" state. This field is required when creating an experiment.",
          "annotations": {
            "required": [
              "analytics.management.experiments.insert",
              "analytics.management.experiments.update"
            ]
          }
        },
        "name": {
          "type": "string",
          "description": "Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment.",
          "annotations": {
            "required": [
              "analytics.management.experiments.insert",
              "analytics.management.experiments.update"
            ]
          }
        },
        "winnerFound": {
          "type": "boolean",
          "description": "Boolean specifying whether a winner has been found for this experiment. This field is read-only."
        },
        "updated": {
          "description": "Time the experiment was last modified. This field is read-only.",
          "type": "string",
          "format": "date-time"
        },
        "internalWebPropertyId": {
          "type": "string",
          "description": "Internal ID for the web property to which this experiment belongs. This field is read-only."
        },
        "winnerConfidenceLevel": {
          "description": "A floating-point number in (0, 1). Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.",
          "type": "number",
          "format": "double"
        },
        "endTime": {
          "description": "The ending time of the experiment (the time the status changed from RUNNING to ENDED). This field is present only if the experiment has ended. This field is read-only.",
          "type": "string",
          "format": "date-time"
        },
        "kind": {
          "type": "string",
          "description": "Resource type for an Analytics experiment. This field is read-only.",
          "default": "analytics#experiment"
        },
        "selfLink": {
          "type": "string",
          "description": "Link for this experiment. This field is read-only."
        },
        "trafficCoverage": {
          "description": "A floating-point number in (0, 1]. Specifies the fraction of the traffic that participates in the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.",
          "type": "number",
          "format": "double"
        }
      },
      "description": "JSON template for Analytics experiment resource."
    },
    "UserRef": {
      "type": "object",
      "description": "JSON template for a user reference.",
      "id": "UserRef",
      "properties": {
        "email": {
          "type": "string",
          "description": "Email ID of this user."
        },
        "id": {
          "type": "string",
          "description": "User ID."
        },
        "kind": {
          "type": "string",
          "default": "analytics#userRef"
        }
      }
    },
    "AccountTreeResponse": {
      "description": "JSON template for an Analytics account tree response. The account tree response is used in the provisioning api to return the result of creating an account, property, and view (profile).",
      "id": "AccountTreeResponse",
      "properties": {
        "account": {
          "$ref": "Account",
          "description": "The account created."
        },
        "profile": {
          "$ref": "Profile",
          "description": "View (Profile) for the account."
        },
        "kind": {
          "type": "string",
          "description": "Resource type for account ticket.",
          "default": "analytics#accountTreeResponse"
        },
        "webproperty": {
          "$ref": "Webproperty",
          "description": "Web property for the account."
        }
      },
      "type": "object"
    },
    "Filter": {
      "type": "object",
      "description": "JSON template for an Analytics account filter.",
      "id": "Filter",
      "properties": {
        "accountId": {
          "type": "string",
          "description": "Account ID to which this filter belongs."
        },
        "advancedDetails": {
          "type": "object",
          "description": "Details for the filter of the type ADVANCED.",
          "properties": {
            "caseSensitive": {
              "type": "boolean",
              "description": "Indicates if the filter expressions are case sensitive."
            },
            "fieldB": {
              "type": "string",
              "description": "Field B."
            },
            "outputToField": {
              "type": "string",
              "description": "Output field."
            },
            "fieldBIndex": {
              "type": "integer",
              "format": "int32",
              "description": "The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION."
            },
            "fieldA": {
              "type": "string",
              "description": "Field A."
            },
            "extractB": {
              "type": "string",
              "description": "Expression to extract from field B."
            },
            "overrideOutputField": {
              "type": "boolean",
              "description": "Indicates if the existing value of the output field, if any, should be overridden by the output expression."
            },
            "fieldARequired": {
              "type": "boolean",
              "description": "Indicates if field A is required to match."
            },
            "fieldBRequired": {
              "type": "boolean",
              "description": "Indicates if field B is required to match."
            },
            "outputConstructor": {
              "type": "string",
              "description": "Expression used to construct the output value."
            },
            "fieldAIndex": {
              "type": "integer",
              "format": "int32",
              "description": "The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION."
            },
            "outputToFieldIndex": {
              "description": "The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.",
              "type": "integer",
              "format": "int32"
            },
            "extractA": {
              "type": "string",
              "description": "Expression to extract from field A."
            }
          }
        },
        "updated": {
          "description": "Time this filter was last modified.",
          "readOnly": true,
          "type": "string",
          "format": "date-time"
        },
        "name": {
          "type": "string",
          "description": "Name of this filter.",
          "annotations": {
            "required": [
              "analytics.management.filters.insert",
              "analytics.management.filters.update"
            ]
          }
        },
        "created": {
          "type": "string",
          "format": "date-time",
          "readOnly": true,
          "description": "Time this filter was created."
        },
        "kind": {
          "type": "string",
          "readOnly": true,
          "description": "Resource type for Analytics filter.",
          "default": "analytics#filter"
        },
        "selfLink": {
          "description": "Link for this filter.",
          "readOnly": true,
          "type": "string"
        },
        "searchAndReplaceDetails": {
          "properties": {
            "fieldIndex": {
              "description": "The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.",
              "type": "integer",
              "format": "int32"
            },
            "searchString": {
              "type": "string",
              "description": "Term to search."
            },
            "caseSensitive": {
              "type": "boolean",
              "description": "Determines if the filter is case sensitive."
            },
            "replaceString": {
              "type": "string",
              "description": "Term to replace the search term with."
            },
            "field": {
              "type": "string",
              "description": "Field to use in the filter."
            }
          },
          "description": "Details for the filter of the type SEARCH_AND_REPLACE.",
          "type": "object"
        },
        "excludeDetails": {
          "$ref": "FilterExpression",
          "description": "Details for the filter of the type EXCLUDE."
        },
        "includeDetails": {
          "$ref": "FilterExpression",
          "description": "Details for the filter of the type INCLUDE."
        },
        "lowercaseDetails": {
          "type": "object",
          "description": "Details for the filter of the type LOWER.",
          "properties": {
            "field": {
              "type": "string",
              "description": "Field to use in the filter."
            },
            "fieldIndex": {
              "description": "The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.",
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "parentLink": {
          "description": "Parent link for this filter. Points to the account to which this filter belongs.",
          "properties": {
            "href": {
              "type": "string",
              "description": "Link to the account to which this filter belongs."
            },
            "type": {
              "description": "Value is \"analytics#account\".",
              "default": "analytics#account",
              "type": "string"
            }
          },
          "type": "object"
        },
        "type": {
          "description": "Type of this filter. Possible values are INCLUDE, EXCLUDE, LOWERCASE, UPPERCASE, SEARCH_AND_REPLACE and ADVANCED.",
          "annotations": {
            "required": [
              "analytics.management.filters.insert",
              "analytics.management.filters.update"
            ]
          },
          "type": "string"
        },
        "id": {
          "type": "string",
          "description": "Filter ID."
        },
        "uppercaseDetails": {
          "type": "object",
          "properties": {
            "field": {
              "type": "string",
              "description": "Field to use in the filter."
            },
            "fieldIndex": {
              "description": "The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.",
              "type": "integer",
              "format": "int32"
            }
          },
          "description": "Details for the filter of the type UPPER."
        }
      }
    },
    "Filters": {
      "description": "A filter collection lists filters created by users in an Analytics account. Each resource in the collection corresponds to a filter.",
      "id": "Filters",
      "properties": {
        "previousLink": {
          "type": "string",
          "description": "Link to previous page for this filter collection."
        },
        "items": {
          "items": {
            "$ref": "Filter"
          },
          "description": "A list of filters.",
          "type": "array"
        },
        "username": {
          "type": "string",
          "description": "Email ID of the authenticated user"
        },
        "totalResults": {
          "type": "integer",
          "format": "int32",
          "description": "The total number of results for the query, regardless of the number of results in the response."
        },
        "itemsPerPage": {
          "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "startIndex": {
          "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "kind": {
          "type": "string",
          "description": "Collection type.",
          "default": "analytics#filters"
        },
        "nextLink": {
          "type": "string",
          "description": "Link to next page for this filter collection."
        }
      },
      "type": "object"
    },
    "IncludeConditions": {
      "type": "object",
      "id": "IncludeConditions",
      "properties": {
        "isSmartList": {
          "type": "boolean",
          "description": "Boolean indicating whether this segment is a smart list. https://support.google.com/analytics/answer/4628577"
        },
        "kind": {
          "type": "string",
          "description": "Resource type for include conditions.",
          "default": "analytics#includeConditions"
        },
        "daysToLookBack": {
          "description": "The look-back window lets you specify a time frame for evaluating the behavior that qualifies users for your audience. For example, if your filters include users from Central Asia, and Transactions Greater than 2, and you set the look-back window to 14 days, then any user from Central Asia whose cumulative transactions exceed 2 during the last 14 days is added to the audience.",
          "type": "integer",
          "format": "int32"
        },
        "membershipDurationDays": {
          "type": "integer",
          "format": "int32",
          "description": "Number of days (in the range 1 to 540) a user remains in the audience."
        },
        "segment": {
          "type": "string",
          "description": "The segment condition that will cause a user to be added to an audience."
        }
      },
      "description": "JSON template for an Analytics Remarketing Include Conditions."
    },
    "Columns": {
      "type": "object",
      "description": "Lists columns (dimensions and metrics) for a particular report type.",
      "id": "Columns",
      "properties": {
        "kind": {
          "type": "string",
          "description": "Collection type.",
          "default": "analytics#columns"
        },
        "totalResults": {
          "description": "Total number of columns returned in the response.",
          "type": "integer",
          "format": "int32"
        },
        "attributeNames": {
          "description": "List of attributes names returned by columns.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "etag": {
          "type": "string",
          "description": "Etag of collection. This etag can be compared with the last response etag to check if response has changed."
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "Column"
          },
          "description": "List of columns for a report type."
        }
      }
    },
    "CustomMetric": {
      "id": "CustomMetric",
      "properties": {
        "index": {
          "description": "Index of the custom metric.",
          "type": "integer",
          "format": "int32",
          "readOnly": true
        },
        "webPropertyId": {
          "type": "string",
          "description": "Property ID."
        },
        "parentLink": {
          "properties": {
            "href": {
              "type": "string",
              "description": "Link to the property to which the custom metric belongs."
            },
            "type": {
              "description": "Type of the parent link. Set to \"analytics#webproperty\".",
              "default": "analytics#webproperty",
              "type": "string"
            }
          },
          "description": "Parent link for the custom metric. Points to the property to which the custom metric belongs.",
          "type": "object"
        },
        "type": {
          "type": "string",
          "description": "Data type of custom metric."
        },
        "id": {
          "type": "string",
          "description": "Custom metric ID."
        },
        "max_value": {
          "type": "string",
          "description": "Max value of custom metric."
        },
        "min_value": {
          "type": "string",
          "description": "Min value of custom metric."
        },
        "active": {
          "type": "boolean",
          "description": "Boolean indicating whether the custom metric is active."
        },
        "accountId": {
          "type": "string",
          "description": "Account ID."
        },
        "scope": {
          "type": "string",
          "description": "Scope of the custom metric: HIT or PRODUCT."
        },
        "updated": {
          "type": "string",
          "format": "date-time",
          "readOnly": true,
          "description": "Time the custom metric was last modified."
        },
        "name": {
          "type": "string",
          "description": "Name of the custom metric."
        },
        "created": {
          "type": "string",
          "format": "date-time",
          "readOnly": true,
          "description": "Time the custom metric was created."
        },
        "kind": {
          "description": "Kind value for a custom metric. Set to \"analytics#customMetric\". It is a read-only field.",
          "default": "analytics#customMetric",
          "readOnly": true,
          "type": "string"
        },
        "selfLink": {
          "type": "string",
          "readOnly": true,
          "description": "Link for the custom metric"
        }
      },
      "description": "JSON template for Analytics Custom Metric.",
      "type": "object"
    },
    "Uploads": {
      "description": "Upload collection lists Analytics uploads to which the user has access. Each custom data source can have a set of uploads. Each resource in the upload collection corresponds to a single Analytics data upload.",
      "id": "Uploads",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "Upload"
          },
          "description": "A list of uploads."
        },
        "previousLink": {
          "type": "string",
          "description": "Link to previous page for this upload collection."
        },
        "kind": {
          "description": "Collection type.",
          "default": "analytics#uploads",
          "type": "string"
        },
        "nextLink": {
          "type": "string",
          "description": "Link to next page for this upload collection."
        },
        "startIndex": {
          "type": "integer",
          "format": "int32",
          "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter."
        },
        "itemsPerPage": {
          "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "totalResults": {
          "description": "The total number of results for the query, regardless of the number of resources in the result.",
          "type": "integer",
          "format": "int32"
        }
      },
      "type": "object"
    },
    "ProfileFilterLinks": {
      "type": "object",
      "description": "A profile filter link collection lists profile filter links between profiles and filters. Each resource in the collection corresponds to a profile filter link.",
      "id": "ProfileFilterLinks",
      "properties": {
        "startIndex": {
          "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "kind": {
          "description": "Collection type.",
          "default": "analytics#profileFilterLinks",
          "type": "string"
        },
        "nextLink": {
          "type": "string",
          "description": "Link to next page for this profile filter link collection."
        },
        "totalResults": {
          "description": "The total number of results for the query, regardless of the number of results in the response.",
          "type": "integer",
          "format": "int32"
        },
        "itemsPerPage": {
          "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "previousLink": {
          "type": "string",
          "description": "Link to previous page for this profile filter link collection."
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "ProfileFilterLink"
          },
          "description": "A list of profile filter links."
        },
        "username": {
          "type": "string",
          "description": "Email ID of the authenticated user"
        }
      }
    },
    "LinkedForeignAccount": {
      "type": "object",
      "id": "LinkedForeignAccount",
      "properties": {
        "remarketingAudienceId": {
          "type": "string",
          "description": "Remarketing audience ID to which this linked foreign account belongs."
        },
        "kind": {
          "type": "string",
          "description": "Resource type for linked foreign account.",
          "default": "analytics#linkedForeignAccount"
        },
        "type": {
          "type": "string",
          "description": "The type of the foreign account. For example, `ADWORDS_LINKS`, `DBM_LINKS`, `MCC_LINKS` or `OPTIMIZE`."
        },
        "accountId": {
          "type": "string",
          "description": "Account ID to which this linked foreign account belongs."
        },
        "eligibleForSearch": {
          "description": "Boolean indicating whether this is eligible for search.",
          "type": "boolean",
          "readOnly": true
        },
        "status": {
          "type": "string",
          "description": "The status of this foreign account link."
        },
        "webPropertyId": {
          "type": "string",
          "description": "Web property ID of the form UA-XXXXX-YY to which this linked foreign account belongs."
        },
        "linkedAccountId": {
          "type": "string",
          "description": "The foreign account ID. For example the an Google Ads `linkedAccountId` has the following format XXX-XXX-XXXX."
        },
        "internalWebPropertyId": {
          "description": "Internal ID for the web property to which this linked foreign account belongs.",
          "readOnly": true,
          "type": "string"
        },
        "id": {
          "type": "string",
          "description": "Entity ad account link ID."
        }
      },
      "description": "JSON template for an Analytics Remarketing Audience Foreign Link."
    },
    "AccountSummaries": {
      "type": "object",
      "description": "An AccountSummary collection lists a summary of accounts, properties and views (profiles) to which the user has access. Each resource in the collection corresponds to a single AccountSummary.",
      "id": "AccountSummaries",
      "properties": {
        "startIndex": {
          "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "kind": {
          "description": "Collection type.",
          "default": "analytics#accountSummaries",
          "type": "string"
        },
        "nextLink": {
          "type": "string",
          "description": "Link to next page for this AccountSummary collection."
        },
        "totalResults": {
          "type": "integer",
          "format": "int32",
          "description": "The total number of results for the query, regardless of the number of results in the response."
        },
        "itemsPerPage": {
          "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.",
          "type": "integer",
          "format": "int32"
        },
        "previousLink": {
          "type": "string",
          "description": "Link to previous page for this AccountSummary collection."
        },
        "items": {
          "type": "array",
          "description": "A list of AccountSummaries.",
          "items": {
            "$ref": "AccountSummary"
          }
        },
        "username": {
          "type": "string",
          "description": "Email ID of the authenticated user"
        }
      }
    },
    "AccountTreeRequest": {
      "id": "AccountTreeRequest",
      "properties": {
        "accountName": {
          "type": "string",
          "annotations": {
            "required": [
              "analytics.provisioning.createAccountTree"
            ]
          }
        },
        "timezone": {
          "type": "string",
          "annotations": {
            "required": [
              "analytics.provisioning.createAccountTree"
            ]
          }
        },
        "kind": {
          "type": "string",
          "description": "Resource type for account ticket.",
          "default": "analytics#accountTreeRequest"
        },
        "webpropertyName": {
          "type": "string",
          "annotations": {
            "required": [
              "analytics.provisioning.createAccountTree"
            ]
          }
        },
        "websiteUrl": {
          "type": "string",
          "annotations": {
            "required": [
              "analytics.provisioning.createAccountTree"
            ]
          }
        },
        "profileName": {
          "type": "string",
          "annotations": {
            "required": [
              "analytics.provisioning.createAccountTree"
            ]
          }
        }
      },
      "description": "JSON template for an Analytics account tree requests. The account tree request is used in the provisioning api to create an account, property, and view (profile). It contains the basic information required to make these fields.",
      "type": "object"
    },
    "AnalyticsDataimportDeleteUploadDataRequest": {
      "description": "Request template for the delete upload data request.",
      "id": "AnalyticsDataimportDeleteUploadDataRequest",
      "properties": {
        "customDataImportUids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of upload UIDs."
        }
      },
      "type": "object"
    }
  },
  "etag": "\"9eZ1uxVRThTDhLJCZHhqs3eQWz4/o_TVyaWurnALX6ZIQ952-U5m22Y\"",
  "version": "v3",
  "rootUrl": "https://analytics.googleapis.com/",
  "parameters": {
    "alt": {
      "enumDescriptions": [
        "Responses with Content-Type of application/json"
      ],
      "type": "string",
      "enum": [
        "json"
      ],
      "default": "json",
      "description": "Data format for the response.",
      "location": "query"
    },
    "key": {
      "type": "string",
      "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"
    },
    "userIp": {
      "type": "string",
      "description": "Deprecated. Please use quotaUser instead.",
      "location": "query"
    },
    "prettyPrint": {
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "default": "false",
      "location": "query"
    },
    "quotaUser": {
      "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "type": "string",
      "description": "OAuth 2.0 token for the current user.",
      "location": "query"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    }
  },
  "ownerDomain": "google.com",
  "kind": "discovery#restDescription",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/analytics.manage.users.readonly": {
          "description": "View Google Analytics user permissions"
        },
        "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": {
          "description": "View and manage your Google Analytics data"
        },
        "https://www.googleapis.com/auth/analytics.provision": {
          "description": "Create a new Google Analytics account along with its default property and view"
        },
        "https://www.googleapis.com/auth/analytics.readonly": {
          "description": "View your Google Analytics data"
        },
        "https://www.googleapis.com/auth/analytics.user.deletion": {
          "description": "Manage Google Analytics user deletion requests"
        }
      }
    }
  },
  "revision": "20190807",
  "discoveryVersion": "v1",
  "documentationLink": "https://developers.google.com/analytics/",
  "servicePath": "analytics/v3/",
  "protocol": "rest",
  "id": "analytics:v3",
  "baseUrl": "https://www.googleapis.com/analytics/v3/",
  "resources": {
    "management": {
      "resources": {
        "remarketingAudience": {
          "methods": {
            "patch": {
              "id": "analytics.management.remarketingAudience.patch",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}",
              "response": {
                "$ref": "RemarketingAudience"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "remarketingAudienceId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "description": "Updates an existing remarketing audience. This method supports patch semantics.",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "The account ID of the remarketing audience to update.",
                  "location": "path"
                },
                "remarketingAudienceId": {
                  "type": "string",
                  "required": true,
                  "description": "The ID of the remarketing audience to update.",
                  "location": "path"
                },
                "webPropertyId": {
                  "description": "The web property ID of the remarketing audience to update.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "request": {
                "$ref": "RemarketingAudience"
              },
              "httpMethod": "PATCH"
            },
            "delete": {
              "httpMethod": "DELETE",
              "id": "analytics.management.remarketingAudience.delete",
              "description": "Delete a remarketing audience.",
              "parameters": {
                "webPropertyId": {
                  "required": true,
                  "description": "Web property ID to which the remarketing audience belongs.",
                  "location": "path",
                  "type": "string"
                },
                "accountId": {
                  "required": true,
                  "description": "Account ID to which the remarketing audience belongs.",
                  "location": "path",
                  "type": "string"
                },
                "remarketingAudienceId": {
                  "required": true,
                  "description": "The ID of the remarketing audience to delete.",
                  "location": "path",
                  "type": "string"
                }
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "remarketingAudienceId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}"
            },
            "list": {
              "parameterOrder": [
                "accountId",
                "webPropertyId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences",
              "response": {
                "$ref": "RemarketingAudiences"
              },
              "httpMethod": "GET",
              "description": "Lists remarketing audiences to which the user has access.",
              "parameters": {
                "type": {
                  "type": "string",
                  "default": "all",
                  "location": "query"
                },
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "The account ID of the remarketing audiences to retrieve.",
                  "location": "path"
                },
                "webPropertyId": {
                  "required": true,
                  "description": "The web property ID of the remarketing audiences to retrieve.",
                  "location": "path",
                  "type": "string"
                },
                "max-results": {
                  "type": "integer",
                  "format": "int32",
                  "description": "The maximum number of remarketing audiences to include in this response.",
                  "location": "query"
                },
                "start-index": {
                  "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                }
              },
              "id": "analytics.management.remarketingAudience.list"
            },
            "get": {
              "httpMethod": "GET",
              "description": "Gets a remarketing audience to which the user has access.",
              "parameters": {
                "webPropertyId": {
                  "description": "The web property ID of the remarketing audience to retrieve.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "accountId": {
                  "description": "The account ID of the remarketing audience to retrieve.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "remarketingAudienceId": {
                  "type": "string",
                  "description": "The ID of the remarketing audience to retrieve.",
                  "location": "path",
                  "required": true
                }
              },
              "id": "analytics.management.remarketingAudience.get",
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "remarketingAudienceId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}",
              "response": {
                "$ref": "RemarketingAudience"
              }
            },
            "insert": {
              "httpMethod": "POST",
              "description": "Creates a new remarketing audience.",
              "parameters": {
                "webPropertyId": {
                  "type": "string",
                  "required": true,
                  "description": "Web property ID for which to create the remarketing audience.",
                  "location": "path"
                },
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "The account ID for which to create the remarketing audience.",
                  "location": "path"
                }
              },
              "request": {
                "$ref": "RemarketingAudience"
              },
              "id": "analytics.management.remarketingAudience.insert",
              "parameterOrder": [
                "accountId",
                "webPropertyId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences",
              "response": {
                "$ref": "RemarketingAudience"
              }
            },
            "update": {
              "id": "analytics.management.remarketingAudience.update",
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "remarketingAudienceId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}",
              "response": {
                "$ref": "RemarketingAudience"
              },
              "httpMethod": "PUT",
              "description": "Updates an existing remarketing audience.",
              "parameters": {
                "accountId": {
                  "required": true,
                  "description": "The account ID of the remarketing audience to update.",
                  "location": "path",
                  "type": "string"
                },
                "remarketingAudienceId": {
                  "description": "The ID of the remarketing audience to update.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "webPropertyId": {
                  "type": "string",
                  "required": true,
                  "description": "The web property ID of the remarketing audience to update.",
                  "location": "path"
                }
              },
              "request": {
                "$ref": "RemarketingAudience"
              }
            }
          }
        },
        "clientId": {
          "methods": {
            "hashClientId": {
              "path": "management/clientId:hashClientId",
              "response": {
                "$ref": "HashClientIdResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "description": "Hashes the given Client ID.",
              "request": {
                "$ref": "HashClientIdRequest"
              },
              "id": "analytics.management.clientId.hashClientId",
              "httpMethod": "POST"
            }
          }
        },
        "profileFilterLinks": {
          "methods": {
            "delete": {
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}",
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId",
                "linkId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "id": "analytics.management.profileFilterLinks.delete",
              "description": "Delete a profile filter link.",
              "parameters": {
                "accountId": {
                  "required": true,
                  "description": "Account ID to which the profile filter link belongs.",
                  "pattern": "\\d+",
                  "location": "path",
                  "type": "string"
                },
                "profileId": {
                  "required": true,
                  "description": "Profile ID to which the filter link belongs.",
                  "pattern": "\\d+",
                  "location": "path",
                  "type": "string"
                },
                "webPropertyId": {
                  "type": "string",
                  "description": "Web property Id to which the profile filter link belongs.",
                  "pattern": "UA-(\\d+)-(\\d+)",
                  "location": "path",
                  "required": true
                },
                "linkId": {
                  "description": "ID of the profile filter link to delete.",
                  "pattern": "\\d+:\\d+",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "httpMethod": "DELETE"
            },
            "list": {
              "httpMethod": "GET",
              "id": "analytics.management.profileFilterLinks.list",
              "description": "Lists all profile filter links for a profile.",
              "parameters": {
                "max-results": {
                  "description": "The maximum number of profile filter links to include in this response.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "profileId": {
                  "type": "string",
                  "description": "Profile ID to retrieve filter links for. Can either be a specific profile ID or '~all', which refers to all the profiles that user has access to.",
                  "location": "path",
                  "required": true
                },
                "start-index": {
                  "type": "integer",
                  "format": "int32",
                  "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query"
                },
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "Account ID to retrieve profile filter links for.",
                  "pattern": "\\d+",
                  "location": "path"
                },
                "webPropertyId": {
                  "type": "string",
                  "required": true,
                  "description": "Web property Id for profile filter links for. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to.",
                  "location": "path"
                }
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks",
              "response": {
                "$ref": "ProfileFilterLinks"
              }
            },
            "patch": {
              "httpMethod": "PATCH",
              "description": "Update an existing profile filter link. This method supports patch semantics.",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "description": "Account ID to which profile filter link belongs.",
                  "pattern": "\\d+",
                  "location": "path",
                  "required": true
                },
                "profileId": {
                  "type": "string",
                  "description": "Profile ID to which filter link belongs",
                  "pattern": "\\d+",
                  "location": "path",
                  "required": true
                },
                "webPropertyId": {
                  "required": true,
                  "description": "Web property Id to which profile filter link belongs",
                  "pattern": "UA-(\\d+)-(\\d+)",
                  "location": "path",
                  "type": "string"
                },
                "linkId": {
                  "required": true,
                  "description": "ID of the profile filter link to be updated.",
                  "pattern": "\\d+:\\d+",
                  "location": "path",
                  "type": "string"
                }
              },
              "request": {
                "$ref": "ProfileFilterLink"
              },
              "id": "analytics.management.profileFilterLinks.patch",
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId",
                "linkId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}",
              "response": {
                "$ref": "ProfileFilterLink"
              }
            },
            "get": {
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}",
              "response": {
                "$ref": "ProfileFilterLink"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId",
                "linkId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "description": "Returns a single profile filter link.",
              "parameters": {
                "accountId": {
                  "required": true,
                  "description": "Account ID to retrieve profile filter link for.",
                  "pattern": "\\d+",
                  "location": "path",
                  "type": "string"
                },
                "profileId": {
                  "type": "string",
                  "description": "Profile ID to retrieve filter link for.",
                  "pattern": "\\d+",
                  "location": "path",
                  "required": true
                },
                "webPropertyId": {
                  "type": "string",
                  "description": "Web property Id to retrieve profile filter link for.",
                  "pattern": "UA-(\\d+)-(\\d+)",
                  "location": "path",
                  "required": true
                },
                "linkId": {
                  "required": true,
                  "description": "ID of the profile filter link.",
                  "pattern": "\\d+:\\d+",
                  "location": "path",
                  "type": "string"
                }
              },
              "id": "analytics.management.profileFilterLinks.get",
              "httpMethod": "GET"
            },
            "insert": {
              "httpMethod": "POST",
              "description": "Create a new profile filter link.",
              "parameters": {
                "accountId": {
                  "description": "Account ID to create profile filter link for.",
                  "pattern": "\\d+",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "profileId": {
                  "required": true,
                  "description": "Profile ID to create filter link for.",
                  "pattern": "\\d+",
                  "location": "path",
                  "type": "string"
                },
                "webPropertyId": {
                  "type": "string",
                  "required": true,
                  "description": "Web property Id to create profile filter link for.",
                  "pattern": "UA-(\\d+)-(\\d+)",
                  "location": "path"
                }
              },
              "request": {
                "$ref": "ProfileFilterLink"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks",
              "response": {
                "$ref": "ProfileFilterLink"
              },
              "id": "analytics.management.profileFilterLinks.insert"
            },
            "update": {
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}",
              "response": {
                "$ref": "ProfileFilterLink"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId",
                "linkId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "id": "analytics.management.profileFilterLinks.update",
              "description": "Update an existing profile filter link.",
              "parameters": {
                "linkId": {
                  "type": "string",
                  "description": "ID of the profile filter link to be updated.",
                  "pattern": "\\d+:\\d+",
                  "location": "path",
                  "required": true
                },
                "profileId": {
                  "type": "string",
                  "required": true,
                  "description": "Profile ID to which filter link belongs",
                  "pattern": "\\d+",
                  "location": "path"
                },
                "webPropertyId": {
                  "type": "string",
                  "required": true,
                  "description": "Web property Id to which profile filter link belongs",
                  "pattern": "UA-(\\d+)-(\\d+)",
                  "location": "path"
                },
                "accountId": {
                  "required": true,
                  "description": "Account ID to which profile filter link belongs.",
                  "pattern": "\\d+",
                  "location": "path",
                  "type": "string"
                }
              },
              "request": {
                "$ref": "ProfileFilterLink"
              },
              "httpMethod": "PUT"
            }
          }
        },
        "webproperties": {
          "methods": {
            "list": {
              "path": "management/accounts/{accountId}/webproperties",
              "response": {
                "$ref": "Webproperties"
              },
              "parameterOrder": [
                "accountId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "id": "analytics.management.webproperties.list",
              "description": "Lists web properties to which the user has access.",
              "parameters": {
                "accountId": {
                  "description": "Account ID to retrieve web properties for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "max-results": {
                  "description": "The maximum number of web properties to include in this response.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "start-index": {
                  "type": "integer",
                  "format": "int32",
                  "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query"
                }
              },
              "httpMethod": "GET"
            },
            "patch": {
              "id": "analytics.management.webproperties.patch",
              "parameterOrder": [
                "accountId",
                "webPropertyId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}",
              "response": {
                "$ref": "Webproperty"
              },
              "httpMethod": "PATCH",
              "description": "Updates an existing web property. This method supports patch semantics.",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "description": "Account ID to which the web property belongs",
                  "location": "path",
                  "required": true
                },
                "webPropertyId": {
                  "required": true,
                  "description": "Web property ID",
                  "location": "path",
                  "type": "string"
                }
              },
              "request": {
                "$ref": "Webproperty"
              }
            },
            "insert": {
              "id": "analytics.management.webproperties.insert",
              "parameterOrder": [
                "accountId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "path": "management/accounts/{accountId}/webproperties",
              "response": {
                "$ref": "Webproperty"
              },
              "httpMethod": "POST",
              "description": "Create a new property if the account has fewer than 20 properties. Web properties are visible in the Google Analytics interface only if they have at least one profile.",
              "parameters": {
                "accountId": {
                  "required": true,
                  "description": "Account ID to create the web property for.",
                  "location": "path",
                  "type": "string"
                }
              },
              "request": {
                "$ref": "Webproperty"
              }
            },
            "update": {
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}",
              "response": {
                "$ref": "Webproperty"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "id": "analytics.management.webproperties.update",
              "description": "Updates an existing web property.",
              "parameters": {
                "accountId": {
                  "description": "Account ID to which the web property belongs",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "webPropertyId": {
                  "type": "string",
                  "required": true,
                  "description": "Web property ID",
                  "location": "path"
                }
              },
              "request": {
                "$ref": "Webproperty"
              },
              "httpMethod": "PUT"
            },
            "get": {
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}",
              "response": {
                "$ref": "Webproperty"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "id": "analytics.management.webproperties.get",
              "description": "Gets a web property to which the user has access.",
              "parameters": {
                "webPropertyId": {
                  "type": "string",
                  "required": true,
                  "description": "ID to retrieve the web property for.",
                  "pattern": "UA-[0-9]+-[0-9]+",
                  "location": "path"
                },
                "accountId": {
                  "description": "Account ID to retrieve the web property for.",
                  "pattern": "[0-9]+",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "httpMethod": "GET"
            }
          }
        },
        "goals": {
          "methods": {
            "list": {
              "id": "analytics.management.goals.list",
              "description": "Lists goals to which the user has access.",
              "parameters": {
                "max-results": {
                  "type": "integer",
                  "format": "int32",
                  "description": "The maximum number of goals to include in this response.",
                  "location": "query"
                },
                "profileId": {
                  "type": "string",
                  "required": true,
                  "description": "View (Profile) ID to retrieve goals for. Can either be a specific view (profile) ID or '~all', which refers to all the views (profiles) that user has access to.",
                  "location": "path"
                },
                "start-index": {
                  "type": "integer",
                  "format": "int32",
                  "description": "An index of the first goal to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query"
                },
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "Account ID to retrieve goals for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to.",
                  "location": "path"
                },
                "webPropertyId": {
                  "type": "string",
                  "description": "Web property ID to retrieve goals for. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to.",
                  "location": "path",
                  "required": true
                }
              },
              "httpMethod": "GET",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals",
              "response": {
                "$ref": "Goals"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "patch": {
              "description": "Updates an existing goal. This method supports patch semantics.",
              "parameters": {
                "goalId": {
                  "type": "string",
                  "required": true,
                  "description": "Index of the goal to be updated.",
                  "location": "path"
                },
                "profileId": {
                  "required": true,
                  "description": "View (Profile) ID to update the goal.",
                  "location": "path",
                  "type": "string"
                },
                "webPropertyId": {
                  "type": "string",
                  "description": "Web property ID to update the goal.",
                  "location": "path",
                  "required": true
                },
                "accountId": {
                  "required": true,
                  "description": "Account ID to update the goal.",
                  "location": "path",
                  "type": "string"
                }
              },
              "request": {
                "$ref": "Goal"
              },
              "httpMethod": "PATCH",
              "id": "analytics.management.goals.patch",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}",
              "response": {
                "$ref": "Goal"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId",
                "goalId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "insert": {
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals",
              "response": {
                "$ref": "Goal"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "id": "analytics.management.goals.insert",
              "description": "Create a new goal.",
              "parameters": {
                "profileId": {
                  "type": "string",
                  "description": "View (Profile) ID to create the goal for.",
                  "location": "path",
                  "required": true
                },
                "webPropertyId": {
                  "description": "Web property ID to create the goal for.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "accountId": {
                  "type": "string",
                  "description": "Account ID to create the goal for.",
                  "location": "path",
                  "required": true
                }
              },
              "request": {
                "$ref": "Goal"
              },
              "httpMethod": "POST"
            },
            "update": {
              "description": "Updates an existing goal.",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "Account ID to update the goal.",
                  "location": "path"
                },
                "goalId": {
                  "type": "string",
                  "required": true,
                  "description": "Index of the goal to be updated.",
                  "location": "path"
                },
                "profileId": {
                  "type": "string",
                  "required": true,
                  "description": "View (Profile) ID to update the goal.",
                  "location": "path"
                },
                "webPropertyId": {
                  "type": "string",
                  "description": "Web property ID to update the goal.",
                  "location": "path",
                  "required": true
                }
              },
              "request": {
                "$ref": "Goal"
              },
              "httpMethod": "PUT",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}",
              "response": {
                "$ref": "Goal"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId",
                "goalId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "id": "analytics.management.goals.update"
            },
            "get": {
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}",
              "response": {
                "$ref": "Goal"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId",
                "goalId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "id": "analytics.management.goals.get",
              "description": "Gets a goal to which the user has access.",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "Account ID to retrieve the goal for.",
                  "location": "path"
                },
                "goalId": {
                  "required": true,
                  "description": "Goal ID to retrieve the goal for.",
                  "location": "path",
                  "type": "string"
                },
                "profileId": {
                  "required": true,
                  "description": "View (Profile) ID to retrieve the goal for.",
                  "location": "path",
                  "type": "string"
                },
                "webPropertyId": {
                  "description": "Web property ID to retrieve the goal for.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "httpMethod": "GET"
            }
          }
        },
        "accountUserLinks": {
          "methods": {
            "insert": {
              "httpMethod": "POST",
              "description": "Adds a new user to the given account.",
              "parameters": {
                "accountId": {
                  "description": "Account ID to create the user link for.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "request": {
                "$ref": "EntityUserLink"
              },
              "parameterOrder": [
                "accountId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ],
              "path": "management/accounts/{accountId}/entityUserLinks",
              "response": {
                "$ref": "EntityUserLink"
              },
              "id": "analytics.management.accountUserLinks.insert"
            },
            "update": {
              "parameterOrder": [
                "accountId",
                "linkId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ],
              "path": "management/accounts/{accountId}/entityUserLinks/{linkId}",
              "response": {
                "$ref": "EntityUserLink"
              },
              "id": "analytics.management.accountUserLinks.update",
              "httpMethod": "PUT",
              "description": "Updates permissions for an existing user on the given account.",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "description": "Account ID to update the account-user link for.",
                  "location": "path",
                  "required": true
                },
                "linkId": {
                  "required": true,
                  "description": "Link ID to update the account-user link for.",
                  "location": "path",
                  "type": "string"
                }
              },
              "request": {
                "$ref": "EntityUserLink"
              }
            },
            "delete": {
              "parameterOrder": [
                "accountId",
                "linkId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ],
              "path": "management/accounts/{accountId}/entityUserLinks/{linkId}",
              "httpMethod": "DELETE",
              "id": "analytics.management.accountUserLinks.delete",
              "description": "Removes a user from the given account.",
              "parameters": {
                "accountId": {
                  "description": "Account ID to delete the user link for.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "linkId": {
                  "type": "string",
                  "description": "Link ID to delete the user link for.",
                  "location": "path",
                  "required": true
                }
              }
            },
            "list": {
              "id": "analytics.management.accountUserLinks.list",
              "description": "Lists account-user links for a given account.",
              "parameters": {
                "accountId": {
                  "required": true,
                  "description": "Account ID to retrieve the user links for.",
                  "location": "path",
                  "type": "string"
                },
                "max-results": {
                  "description": "The maximum number of account-user links to include in this response.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "start-index": {
                  "description": "An index of the first account-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                }
              },
              "httpMethod": "GET",
              "path": "management/accounts/{accountId}/entityUserLinks",
              "response": {
                "$ref": "EntityUserLinks"
              },
              "parameterOrder": [
                "accountId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users",
                "https://www.googleapis.com/auth/analytics.manage.users.readonly"
              ]
            }
          }
        },
        "customDimensions": {
          "methods": {
            "patch": {
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}",
              "response": {
                "$ref": "CustomDimension"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "customDimensionId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "id": "analytics.management.customDimensions.patch",
              "description": "Updates an existing custom dimension. This method supports patch semantics.",
              "parameters": {
                "ignoreCustomDataSourceLinks": {
                  "description": "Force the update and ignore any warnings related to the custom dimension being linked to a custom data source / data set.",
                  "default": "false",
                  "location": "query",
                  "type": "boolean"
                },
                "webPropertyId": {
                  "description": "Web property ID for the custom dimension to update.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "accountId": {
                  "required": true,
                  "description": "Account ID for the custom dimension to update.",
                  "location": "path",
                  "type": "string"
                },
                "customDimensionId": {
                  "description": "Custom dimension ID for the custom dimension to update.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "request": {
                "$ref": "CustomDimension"
              },
              "httpMethod": "PATCH"
            },
            "list": {
              "parameterOrder": [
                "accountId",
                "webPropertyId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions",
              "response": {
                "$ref": "CustomDimensions"
              },
              "httpMethod": "GET",
              "description": "Lists custom dimensions to which the user has access.",
              "parameters": {
                "start-index": {
                  "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "webPropertyId": {
                  "type": "string",
                  "description": "Web property ID for the custom dimensions to retrieve.",
                  "location": "path",
                  "required": true
                },
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "Account ID for the custom dimensions to retrieve.",
                  "location": "path"
                },
                "max-results": {
                  "description": "The maximum number of custom dimensions to include in this response.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                }
              },
              "id": "analytics.management.customDimensions.list"
            },
            "get": {
              "httpMethod": "GET",
              "description": "Get a custom dimension to which the user has access.",
              "parameters": {
                "accountId": {
                  "required": true,
                  "description": "Account ID for the custom dimension to retrieve.",
                  "location": "path",
                  "type": "string"
                },
                "customDimensionId": {
                  "type": "string",
                  "required": true,
                  "description": "The ID of the custom dimension to retrieve.",
                  "location": "path"
                },
                "webPropertyId": {
                  "description": "Web property ID for the custom dimension to retrieve.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "id": "analytics.management.customDimensions.get",
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "customDimensionId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}",
              "response": {
                "$ref": "CustomDimension"
              }
            },
            "insert": {
              "id": "analytics.management.customDimensions.insert",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions",
              "response": {
                "$ref": "CustomDimension"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "description": "Create a new custom dimension.",
              "parameters": {
                "accountId": {
                  "description": "Account ID for the custom dimension to create.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "webPropertyId": {
                  "required": true,
                  "description": "Web property ID for the custom dimension to create.",
                  "location": "path",
                  "type": "string"
                }
              },
              "request": {
                "$ref": "CustomDimension"
              },
              "httpMethod": "POST"
            },
            "update": {
              "id": "analytics.management.customDimensions.update",
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "customDimensionId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}",
              "response": {
                "$ref": "CustomDimension"
              },
              "httpMethod": "PUT",
              "description": "Updates an existing custom dimension.",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "description": "Account ID for the custom dimension to update.",
                  "location": "path",
                  "required": true
                },
                "customDimensionId": {
                  "description": "Custom dimension ID for the custom dimension to update.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "ignoreCustomDataSourceLinks": {
                  "description": "Force the update and ignore any warnings related to the custom dimension being linked to a custom data source / data set.",
                  "default": "false",
                  "location": "query",
                  "type": "boolean"
                },
                "webPropertyId": {
                  "required": true,
                  "description": "Web property ID for the custom dimension to update.",
                  "location": "path",
                  "type": "string"
                }
              },
              "request": {
                "$ref": "CustomDimension"
              }
            }
          }
        },
        "webPropertyAdWordsLinks": {
          "methods": {
            "insert": {
              "description": "Creates a webProperty-Google Ads link.",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "description": "ID of the Google Analytics account to create the link for.",
                  "location": "path",
                  "required": true
                },
                "webPropertyId": {
                  "description": "Web property ID to create the link for.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "request": {
                "$ref": "EntityAdWordsLink"
              },
              "httpMethod": "POST",
              "id": "analytics.management.webPropertyAdWordsLinks.insert",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks",
              "response": {
                "$ref": "EntityAdWordsLink"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "update": {
              "id": "analytics.management.webPropertyAdWordsLinks.update",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}",
              "response": {
                "$ref": "EntityAdWordsLink"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "webPropertyAdWordsLinkId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "description": "Updates an existing webProperty-Google Ads link.",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "description": "ID of the account which the given web property belongs to.",
                  "location": "path",
                  "required": true
                },
                "webPropertyAdWordsLinkId": {
                  "type": "string",
                  "required": true,
                  "description": "Web property-Google Ads link ID.",
                  "location": "path"
                },
                "webPropertyId": {
                  "required": true,
                  "description": "Web property ID to retrieve the Google Ads link for.",
                  "location": "path",
                  "type": "string"
                }
              },
              "request": {
                "$ref": "EntityAdWordsLink"
              },
              "httpMethod": "PUT"
            },
            "get": {
              "description": "Returns a web property-Google Ads link to which the user has access.",
              "parameters": {
                "accountId": {
                  "required": true,
                  "description": "ID of the account which the given web property belongs to.",
                  "location": "path",
                  "type": "string"
                },
                "webPropertyAdWordsLinkId": {
                  "description": "Web property-Google Ads link ID.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "webPropertyId": {
                  "type": "string",
                  "description": "Web property ID to retrieve the Google Ads link for.",
                  "location": "path",
                  "required": true
                }
              },
              "id": "analytics.management.webPropertyAdWordsLinks.get",
              "httpMethod": "GET",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}",
              "response": {
                "$ref": "EntityAdWordsLink"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "webPropertyAdWordsLinkId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "list": {
              "id": "analytics.management.webPropertyAdWordsLinks.list",
              "description": "Lists webProperty-Google Ads links for a given web property.",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "ID of the account which the given web property belongs to.",
                  "pattern": "\\d+",
                  "location": "path"
                },
                "max-results": {
                  "description": "The maximum number of webProperty-Google Ads links to include in this response.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "start-index": {
                  "type": "integer",
                  "format": "int32",
                  "description": "An index of the first webProperty-Google Ads link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query"
                },
                "webPropertyId": {
                  "description": "Web property ID to retrieve the Google Ads links for.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "httpMethod": "GET",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks",
              "response": {
                "$ref": "EntityAdWordsLinks"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "delete": {
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}",
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "webPropertyAdWordsLinkId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "id": "analytics.management.webPropertyAdWordsLinks.delete",
              "description": "Deletes a web property-Google Ads link.",
              "parameters": {
                "webPropertyId": {
                  "required": true,
                  "description": "Web property ID to delete the Google Ads link for.",
                  "location": "path",
                  "type": "string"
                },
                "accountId": {
                  "required": true,
                  "description": "ID of the account which the given web property belongs to.",
                  "location": "path",
                  "type": "string"
                },
                "webPropertyAdWordsLinkId": {
                  "type": "string",
                  "required": true,
                  "description": "Web property Google Ads link ID.",
                  "location": "path"
                }
              },
              "httpMethod": "DELETE"
            },
            "patch": {
              "description": "Updates an existing webProperty-Google Ads link. This method supports patch semantics.",
              "parameters": {
                "accountId": {
                  "required": true,
                  "description": "ID of the account which the given web property belongs to.",
                  "location": "path",
                  "type": "string"
                },
                "webPropertyAdWordsLinkId": {
                  "description": "Web property-Google Ads link ID.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "webPropertyId": {
                  "description": "Web property ID to retrieve the Google Ads link for.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "request": {
                "$ref": "EntityAdWordsLink"
              },
              "httpMethod": "PATCH",
              "id": "analytics.management.webPropertyAdWordsLinks.patch",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}",
              "response": {
                "$ref": "EntityAdWordsLink"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "webPropertyAdWordsLinkId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            }
          }
        },
        "accountSummaries": {
          "methods": {
            "list": {
              "id": "analytics.management.accountSummaries.list",
              "description": "Lists account summaries (lightweight tree comprised of accounts/properties/profiles) to which the user has access.",
              "parameters": {
                "start-index": {
                  "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "max-results": {
                  "description": "The maximum number of account summaries to include in this response, where the largest acceptable value is 1000.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                }
              },
              "httpMethod": "GET",
              "path": "management/accountSummaries",
              "response": {
                "$ref": "AccountSummaries"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            }
          }
        },
        "uploads": {
          "methods": {
            "get": {
              "id": "analytics.management.uploads.get",
              "description": "List uploads to which the user has access.",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "description": "Account Id for the upload to retrieve.",
                  "pattern": "\\d+",
                  "location": "path",
                  "required": true
                },
                "customDataSourceId": {
                  "type": "string",
                  "required": true,
                  "description": "Custom data source Id for upload to retrieve.",
                  "pattern": ".{22}",
                  "location": "path"
                },
                "uploadId": {
                  "type": "string",
                  "description": "Upload Id to retrieve.",
                  "pattern": ".{22}",
                  "location": "path",
                  "required": true
                },
                "webPropertyId": {
                  "type": "string",
                  "required": true,
                  "description": "Web property Id for the upload to retrieve.",
                  "pattern": "UA-(\\d+)-(\\d+)",
                  "location": "path"
                }
              },
              "httpMethod": "GET",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads/{uploadId}",
              "response": {
                "$ref": "Upload"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "customDataSourceId",
                "uploadId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "uploadData": {
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads",
              "response": {
                "$ref": "Upload"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "customDataSourceId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "mediaUpload": {
                "accept": [
                  "application/octet-stream"
                ],
                "maxSize": "1GB",
                "protocols": {
                  "simple": {
                    "path": "/upload/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads",
                    "multipart": true
                  },
                  "resumable": {
                    "multipart": true,
                    "path": "/resumable/upload/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads"
                  }
                }
              },
              "id": "analytics.management.uploads.uploadData",
              "supportsMediaUpload": true,
              "description": "Upload data for a custom data source.",
              "parameters": {
                "accountId": {
                  "description": "Account Id associated with the upload.",
                  "pattern": "\\d+",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "customDataSourceId": {
                  "type": "string",
                  "required": true,
                  "description": "Custom data source Id to which the data being uploaded belongs.",
                  "location": "path"
                },
                "webPropertyId": {
                  "type": "string",
                  "description": "Web property UA-string associated with the upload.",
                  "pattern": "UA-\\d+-\\d+",
                  "location": "path",
                  "required": true
                }
              },
              "httpMethod": "POST"
            },
            "deleteUploadData": {
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/deleteUploadData",
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "customDataSourceId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "description": "Delete data associated with a previous upload.",
              "parameters": {
                "accountId": {
                  "required": true,
                  "description": "Account Id for the uploads to be deleted.",
                  "pattern": "\\d+",
                  "location": "path",
                  "type": "string"
                },
                "customDataSourceId": {
                  "required": true,
                  "description": "Custom data source Id for the uploads to be deleted.",
                  "pattern": ".{22}",
                  "location": "path",
                  "type": "string"
                },
                "webPropertyId": {
                  "type": "string",
                  "required": true,
                  "description": "Web property Id for the uploads to be deleted.",
                  "pattern": "UA-(\\d+)-(\\d+)",
                  "location": "path"
                }
              },
              "request": {
                "$ref": "AnalyticsDataimportDeleteUploadDataRequest"
              },
              "id": "analytics.management.uploads.deleteUploadData",
              "httpMethod": "POST"
            },
            "list": {
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "customDataSourceId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads",
              "response": {
                "$ref": "Uploads"
              },
              "httpMethod": "GET",
              "description": "List uploads to which the user has access.",
              "parameters": {
                "start-index": {
                  "description": "A 1-based index of the first upload to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "max-results": {
                  "type": "integer",
                  "format": "int32",
                  "description": "The maximum number of uploads to include in this response.",
                  "minimum": "1",
                  "location": "query"
                },
                "webPropertyId": {
                  "type": "string",
                  "required": true,
                  "description": "Web property Id for the uploads to retrieve.",
                  "pattern": "UA-(\\d+)-(\\d+)",
                  "location": "path"
                },
                "accountId": {
                  "type": "string",
                  "description": "Account Id for the uploads to retrieve.",
                  "pattern": "\\d+",
                  "location": "path",
                  "required": true
                },
                "customDataSourceId": {
                  "required": true,
                  "description": "Custom data source Id for uploads to retrieve.",
                  "pattern": ".{22}",
                  "location": "path",
                  "type": "string"
                }
              },
              "id": "analytics.management.uploads.list"
            }
          }
        },
        "customMetrics": {
          "methods": {
            "get": {
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "customMetricId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}",
              "response": {
                "$ref": "CustomMetric"
              },
              "httpMethod": "GET",
              "id": "analytics.management.customMetrics.get",
              "description": "Get a custom metric to which the user has access.",
              "parameters": {
                "webPropertyId": {
                  "required": true,
                  "description": "Web property ID for the custom metric to retrieve.",
                  "location": "path",
                  "type": "string"
                },
                "customMetricId": {
                  "description": "The ID of the custom metric to retrieve.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "Account ID for the custom metric to retrieve.",
                  "location": "path"
                }
              }
            },
            "insert": {
              "parameterOrder": [
                "accountId",
                "webPropertyId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics",
              "response": {
                "$ref": "CustomMetric"
              },
              "id": "analytics.management.customMetrics.insert",
              "httpMethod": "POST",
              "description": "Create a new custom metric.",
              "parameters": {
                "accountId": {
                  "description": "Account ID for the custom metric to create.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "webPropertyId": {
                  "type": "string",
                  "description": "Web property ID for the custom dimension to create.",
                  "location": "path",
                  "required": true
                }
              },
              "request": {
                "$ref": "CustomMetric"
              }
            },
            "update": {
              "id": "analytics.management.customMetrics.update",
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "customMetricId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}",
              "response": {
                "$ref": "CustomMetric"
              },
              "httpMethod": "PUT",
              "description": "Updates an existing custom metric.",
              "parameters": {
                "customMetricId": {
                  "required": true,
                  "description": "Custom metric ID for the custom metric to update.",
                  "location": "path",
                  "type": "string"
                },
                "ignoreCustomDataSourceLinks": {
                  "description": "Force the update and ignore any warnings related to the custom metric being linked to a custom data source / data set.",
                  "default": "false",
                  "location": "query",
                  "type": "boolean"
                },
                "webPropertyId": {
                  "description": "Web property ID for the custom metric to update.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "accountId": {
                  "type": "string",
                  "description": "Account ID for the custom metric to update.",
                  "location": "path",
                  "required": true
                }
              },
              "request": {
                "$ref": "CustomMetric"
              }
            },
            "patch": {
              "id": "analytics.management.customMetrics.patch",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}",
              "response": {
                "$ref": "CustomMetric"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "customMetricId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "description": "Updates an existing custom metric. This method supports patch semantics.",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "description": "Account ID for the custom metric to update.",
                  "location": "path",
                  "required": true
                },
                "customMetricId": {
                  "type": "string",
                  "required": true,
                  "description": "Custom metric ID for the custom metric to update.",
                  "location": "path"
                },
                "ignoreCustomDataSourceLinks": {
                  "description": "Force the update and ignore any warnings related to the custom metric being linked to a custom data source / data set.",
                  "default": "false",
                  "location": "query",
                  "type": "boolean"
                },
                "webPropertyId": {
                  "description": "Web property ID for the custom metric to update.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "request": {
                "$ref": "CustomMetric"
              },
              "httpMethod": "PATCH"
            },
            "list": {
              "httpMethod": "GET",
              "description": "Lists custom metrics to which the user has access.",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "Account ID for the custom metrics to retrieve.",
                  "location": "path"
                },
                "max-results": {
                  "description": "The maximum number of custom metrics to include in this response.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "start-index": {
                  "type": "integer",
                  "format": "int32",
                  "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query"
                },
                "webPropertyId": {
                  "type": "string",
                  "description": "Web property ID for the custom metrics to retrieve.",
                  "location": "path",
                  "required": true
                }
              },
              "id": "analytics.management.customMetrics.list",
              "parameterOrder": [
                "accountId",
                "webPropertyId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics",
              "response": {
                "$ref": "CustomMetrics"
              }
            }
          }
        },
        "filters": {
          "methods": {
            "list": {
              "parameterOrder": [
                "accountId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "path": "management/accounts/{accountId}/filters",
              "response": {
                "$ref": "Filters"
              },
              "httpMethod": "GET",
              "id": "analytics.management.filters.list",
              "description": "Lists all filters for an account",
              "parameters": {
                "start-index": {
                  "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "accountId": {
                  "description": "Account ID to retrieve filters for.",
                  "pattern": "\\d+",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "max-results": {
                  "description": "The maximum number of filters to include in this response.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "delete": {
              "httpMethod": "DELETE",
              "description": "Delete a filter.",
              "parameters": {
                "accountId": {
                  "description": "Account ID to delete the filter for.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "filterId": {
                  "type": "string",
                  "description": "ID of the filter to be deleted.",
                  "location": "path",
                  "required": true
                }
              },
              "id": "analytics.management.filters.delete",
              "parameterOrder": [
                "accountId",
                "filterId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "path": "management/accounts/{accountId}/filters/{filterId}",
              "response": {
                "$ref": "Filter"
              }
            },
            "patch": {
              "parameterOrder": [
                "accountId",
                "filterId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "path": "management/accounts/{accountId}/filters/{filterId}",
              "response": {
                "$ref": "Filter"
              },
              "id": "analytics.management.filters.patch",
              "httpMethod": "PATCH",
              "description": "Updates an existing filter. This method supports patch semantics.",
              "parameters": {
                "accountId": {
                  "description": "Account ID to which the filter belongs.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "filterId": {
                  "type": "string",
                  "required": true,
                  "description": "ID of the filter to be updated.",
                  "location": "path"
                }
              },
              "request": {
                "$ref": "Filter"
              }
            },
            "insert": {
              "description": "Create a new filter.",
              "parameters": {
                "accountId": {
                  "required": true,
                  "description": "Account ID to create filter for.",
                  "location": "path",
                  "type": "string"
                }
              },
              "request": {
                "$ref": "Filter"
              },
              "httpMethod": "POST",
              "id": "analytics.management.filters.insert",
              "path": "management/accounts/{accountId}/filters",
              "response": {
                "$ref": "Filter"
              },
              "parameterOrder": [
                "accountId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "update": {
              "description": "Updates an existing filter.",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "Account ID to which the filter belongs.",
                  "location": "path"
                },
                "filterId": {
                  "description": "ID of the filter to be updated.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "request": {
                "$ref": "Filter"
              },
              "httpMethod": "PUT",
              "path": "management/accounts/{accountId}/filters/{filterId}",
              "response": {
                "$ref": "Filter"
              },
              "parameterOrder": [
                "accountId",
                "filterId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "id": "analytics.management.filters.update"
            },
            "get": {
              "path": "management/accounts/{accountId}/filters/{filterId}",
              "response": {
                "$ref": "Filter"
              },
              "parameterOrder": [
                "accountId",
                "filterId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "id": "analytics.management.filters.get",
              "description": "Returns filters to which the user has access.",
              "parameters": {
                "accountId": {
                  "required": true,
                  "description": "Account ID to retrieve filters for.",
                  "location": "path",
                  "type": "string"
                },
                "filterId": {
                  "required": true,
                  "description": "Filter ID to retrieve filters for.",
                  "location": "path",
                  "type": "string"
                }
              },
              "httpMethod": "GET"
            }
          }
        },
        "customDataSources": {
          "methods": {
            "list": {
              "id": "analytics.management.customDataSources.list",
              "description": "List custom data sources to which the user has access.",
              "parameters": {
                "accountId": {
                  "description": "Account Id for the custom data sources to retrieve.",
                  "pattern": "\\d+",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "max-results": {
                  "description": "The maximum number of custom data sources to include in this response.",
                  "minimum": "1",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "start-index": {
                  "description": "A 1-based index of the first custom data source to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "webPropertyId": {
                  "type": "string",
                  "required": true,
                  "description": "Web property Id for the custom data sources to retrieve.",
                  "pattern": "UA-(\\d+)-(\\d+)",
                  "location": "path"
                }
              },
              "httpMethod": "GET",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources",
              "response": {
                "$ref": "CustomDataSources"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            }
          }
        },
        "experiments": {
          "methods": {
            "get": {
              "httpMethod": "GET",
              "id": "analytics.management.experiments.get",
              "description": "Returns an experiment to which the user has access.",
              "parameters": {
                "experimentId": {
                  "type": "string",
                  "required": true,
                  "description": "Experiment ID to retrieve the experiment for.",
                  "location": "path"
                },
                "profileId": {
                  "description": "View (Profile) ID to retrieve the experiment for.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "webPropertyId": {
                  "required": true,
                  "description": "Web property ID to retrieve the experiment for.",
                  "location": "path",
                  "type": "string"
                },
                "accountId": {
                  "type": "string",
                  "description": "Account ID to retrieve the experiment for.",
                  "location": "path",
                  "required": true
                }
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId",
                "experimentId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}",
              "response": {
                "$ref": "Experiment"
              }
            },
            "insert": {
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments",
              "response": {
                "$ref": "Experiment"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "id": "analytics.management.experiments.insert",
              "description": "Create a new experiment.",
              "parameters": {
                "profileId": {
                  "type": "string",
                  "required": true,
                  "description": "View (Profile) ID to create the experiment for.",
                  "location": "path"
                },
                "webPropertyId": {
                  "required": true,
                  "description": "Web property ID to create the experiment for.",
                  "location": "path",
                  "type": "string"
                },
                "accountId": {
                  "type": "string",
                  "description": "Account ID to create the experiment for.",
                  "location": "path",
                  "required": true
                }
              },
              "request": {
                "$ref": "Experiment"
              },
              "httpMethod": "POST"
            },
            "update": {
              "id": "analytics.management.experiments.update",
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId",
                "experimentId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}",
              "response": {
                "$ref": "Experiment"
              },
              "httpMethod": "PUT",
              "description": "Update an existing experiment.",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "description": "Account ID of the experiment to update.",
                  "location": "path",
                  "required": true
                },
                "experimentId": {
                  "type": "string",
                  "description": "Experiment ID of the experiment to update.",
                  "location": "path",
                  "required": true
                },
                "profileId": {
                  "type": "string",
                  "required": true,
                  "description": "View (Profile) ID of the experiment to update.",
                  "location": "path"
                },
                "webPropertyId": {
                  "required": true,
                  "description": "Web property ID of the experiment to update.",
                  "location": "path",
                  "type": "string"
                }
              },
              "request": {
                "$ref": "Experiment"
              }
            },
            "patch": {
              "id": "analytics.management.experiments.patch",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}",
              "response": {
                "$ref": "Experiment"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId",
                "experimentId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "description": "Update an existing experiment. This method supports patch semantics.",
              "parameters": {
                "accountId": {
                  "description": "Account ID of the experiment to update.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "profileId": {
                  "type": "string",
                  "required": true,
                  "description": "View (Profile) ID of the experiment to update.",
                  "location": "path"
                },
                "webPropertyId": {
                  "required": true,
                  "description": "Web property ID of the experiment to update.",
                  "location": "path",
                  "type": "string"
                },
                "experimentId": {
                  "type": "string",
                  "required": true,
                  "description": "Experiment ID of the experiment to update.",
                  "location": "path"
                }
              },
              "request": {
                "$ref": "Experiment"
              },
              "httpMethod": "PATCH"
            },
            "delete": {
              "id": "analytics.management.experiments.delete",
              "description": "Delete an experiment.",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "Account ID to which the experiment belongs",
                  "location": "path"
                },
                "profileId": {
                  "type": "string",
                  "required": true,
                  "description": "View (Profile) ID to which the experiment belongs",
                  "location": "path"
                },
                "webPropertyId": {
                  "description": "Web property ID to which the experiment belongs",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "experimentId": {
                  "type": "string",
                  "required": true,
                  "description": "ID of the experiment to delete",
                  "location": "path"
                }
              },
              "httpMethod": "DELETE",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}",
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId",
                "experimentId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "list": {
              "httpMethod": "GET",
              "description": "Lists experiments to which the user has access.",
              "parameters": {
                "webPropertyId": {
                  "type": "string",
                  "description": "Web property ID to retrieve experiments for.",
                  "pattern": "UA-(\\d+)-(\\d+)",
                  "location": "path",
                  "required": true
                },
                "accountId": {
                  "required": true,
                  "description": "Account ID to retrieve experiments for.",
                  "pattern": "\\d+",
                  "location": "path",
                  "type": "string"
                },
                "profileId": {
                  "type": "string",
                  "required": true,
                  "description": "View (Profile) ID to retrieve experiments for.",
                  "pattern": "\\d+",
                  "location": "path"
                },
                "start-index": {
                  "type": "integer",
                  "format": "int32",
                  "description": "An index of the first experiment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query"
                },
                "max-results": {
                  "description": "The maximum number of experiments to include in this response.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                }
              },
              "id": "analytics.management.experiments.list",
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments",
              "response": {
                "$ref": "Experiments"
              }
            }
          }
        },
        "profiles": {
          "methods": {
            "insert": {
              "description": "Create a new view (profile).",
              "parameters": {
                "webPropertyId": {
                  "type": "string",
                  "required": true,
                  "description": "Web property ID to create the view (profile) for.",
                  "location": "path"
                },
                "accountId": {
                  "required": true,
                  "description": "Account ID to create the view (profile) for.",
                  "location": "path",
                  "type": "string"
                }
              },
              "request": {
                "$ref": "Profile"
              },
              "httpMethod": "POST",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles",
              "response": {
                "$ref": "Profile"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "id": "analytics.management.profiles.insert"
            },
            "update": {
              "description": "Updates an existing view (profile).",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "description": "Account ID to which the view (profile) belongs",
                  "location": "path",
                  "required": true
                },
                "profileId": {
                  "required": true,
                  "description": "ID of the view (profile) to be updated.",
                  "location": "path",
                  "type": "string"
                },
                "webPropertyId": {
                  "type": "string",
                  "required": true,
                  "description": "Web property ID to which the view (profile) belongs",
                  "location": "path"
                }
              },
              "request": {
                "$ref": "Profile"
              },
              "httpMethod": "PUT",
              "id": "analytics.management.profiles.update",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}",
              "response": {
                "$ref": "Profile"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "get": {
              "id": "analytics.management.profiles.get",
              "description": "Gets a view (profile) to which the user has access.",
              "parameters": {
                "profileId": {
                  "type": "string",
                  "required": true,
                  "description": "View (Profile) ID to retrieve the view (profile) for.",
                  "pattern": "[0-9]+",
                  "location": "path"
                },
                "webPropertyId": {
                  "description": "Web property ID to retrieve the view (profile) for.",
                  "pattern": "UA-[0-9]+-[0-9]+",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "accountId": {
                  "type": "string",
                  "description": "Account ID to retrieve the view (profile) for.",
                  "pattern": "[0-9]+",
                  "location": "path",
                  "required": true
                }
              },
              "httpMethod": "GET",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}",
              "response": {
                "$ref": "Profile"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "list": {
              "description": "Lists views (profiles) to which the user has access.",
              "parameters": {
                "start-index": {
                  "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "webPropertyId": {
                  "type": "string",
                  "required": true,
                  "description": "Web property ID for the views (profiles) to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties to which the user has access.",
                  "location": "path"
                },
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "Account ID for the view (profiles) to retrieve. Can either be a specific account ID or '~all', which refers to all the accounts to which the user has access.",
                  "location": "path"
                },
                "max-results": {
                  "description": "The maximum number of views (profiles) to include in this response.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                }
              },
              "id": "analytics.management.profiles.list",
              "httpMethod": "GET",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles",
              "response": {
                "$ref": "Profiles"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "delete": {
              "description": "Deletes a view (profile).",
              "parameters": {
                "accountId": {
                  "required": true,
                  "description": "Account ID to delete the view (profile) for.",
                  "location": "path",
                  "type": "string"
                },
                "profileId": {
                  "type": "string",
                  "required": true,
                  "description": "ID of the view (profile) to be deleted.",
                  "location": "path"
                },
                "webPropertyId": {
                  "description": "Web property ID to delete the view (profile) for.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "id": "analytics.management.profiles.delete",
              "httpMethod": "DELETE",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}",
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ]
            },
            "patch": {
              "httpMethod": "PATCH",
              "description": "Updates an existing view (profile). This method supports patch semantics.",
              "parameters": {
                "profileId": {
                  "required": true,
                  "description": "ID of the view (profile) to be updated.",
                  "location": "path",
                  "type": "string"
                },
                "webPropertyId": {
                  "required": true,
                  "description": "Web property ID to which the view (profile) belongs",
                  "location": "path",
                  "type": "string"
                },
                "accountId": {
                  "required": true,
                  "description": "Account ID to which the view (profile) belongs",
                  "location": "path",
                  "type": "string"
                }
              },
              "request": {
                "$ref": "Profile"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}",
              "response": {
                "$ref": "Profile"
              },
              "id": "analytics.management.profiles.patch"
            }
          }
        },
        "webpropertyUserLinks": {
          "methods": {
            "delete": {
              "description": "Removes a user from the given web property.",
              "parameters": {
                "linkId": {
                  "required": true,
                  "description": "Link ID to delete the user link for.",
                  "location": "path",
                  "type": "string"
                },
                "webPropertyId": {
                  "type": "string",
                  "required": true,
                  "description": "Web Property ID to delete the user link for.",
                  "location": "path"
                },
                "accountId": {
                  "type": "string",
                  "description": "Account ID to delete the user link for.",
                  "location": "path",
                  "required": true
                }
              },
              "id": "analytics.management.webpropertyUserLinks.delete",
              "httpMethod": "DELETE",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}",
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "linkId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "list": {
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks",
              "response": {
                "$ref": "EntityUserLinks"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users",
                "https://www.googleapis.com/auth/analytics.manage.users.readonly"
              ],
              "description": "Lists webProperty-user links for a given web property.",
              "parameters": {
                "accountId": {
                  "required": true,
                  "description": "Account ID which the given web property belongs to.",
                  "location": "path",
                  "type": "string"
                },
                "max-results": {
                  "description": "The maximum number of webProperty-user Links to include in this response.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "start-index": {
                  "description": "An index of the first webProperty-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "webPropertyId": {
                  "required": true,
                  "description": "Web Property ID for the webProperty-user links to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to.",
                  "location": "path",
                  "type": "string"
                }
              },
              "id": "analytics.management.webpropertyUserLinks.list",
              "httpMethod": "GET"
            },
            "insert": {
              "httpMethod": "POST",
              "description": "Adds a new user to the given web property.",
              "parameters": {
                "webPropertyId": {
                  "type": "string",
                  "required": true,
                  "description": "Web Property ID to create the user link for.",
                  "location": "path"
                },
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "Account ID to create the user link for.",
                  "location": "path"
                }
              },
              "request": {
                "$ref": "EntityUserLink"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks",
              "response": {
                "$ref": "EntityUserLink"
              },
              "id": "analytics.management.webpropertyUserLinks.insert"
            },
            "update": {
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}",
              "response": {
                "$ref": "EntityUserLink"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "linkId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ],
              "id": "analytics.management.webpropertyUserLinks.update",
              "description": "Updates permissions for an existing user on the given web property.",
              "parameters": {
                "accountId": {
                  "description": "Account ID to update the account-user link for.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "webPropertyId": {
                  "description": "Web property ID to update the account-user link for.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "linkId": {
                  "type": "string",
                  "required": true,
                  "description": "Link ID to update the account-user link for.",
                  "location": "path"
                }
              },
              "request": {
                "$ref": "EntityUserLink"
              },
              "httpMethod": "PUT"
            }
          }
        },
        "segments": {
          "methods": {
            "list": {
              "id": "analytics.management.segments.list",
              "description": "Lists segments to which the user has access.",
              "parameters": {
                "start-index": {
                  "type": "integer",
                  "format": "int32",
                  "description": "An index of the first segment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query"
                },
                "max-results": {
                  "type": "integer",
                  "format": "int32",
                  "description": "The maximum number of segments to include in this response.",
                  "location": "query"
                }
              },
              "httpMethod": "GET",
              "path": "management/segments",
              "response": {
                "$ref": "Segments"
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            }
          }
        },
        "profileUserLinks": {
          "methods": {
            "insert": {
              "id": "analytics.management.profileUserLinks.insert",
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks",
              "response": {
                "$ref": "EntityUserLink"
              },
              "httpMethod": "POST",
              "description": "Adds a new user to the given view (profile).",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "description": "Account ID to create the user link for.",
                  "location": "path",
                  "required": true
                },
                "profileId": {
                  "required": true,
                  "description": "View (Profile) ID to create the user link for.",
                  "location": "path",
                  "type": "string"
                },
                "webPropertyId": {
                  "required": true,
                  "description": "Web Property ID to create the user link for.",
                  "location": "path",
                  "type": "string"
                }
              },
              "request": {
                "$ref": "EntityUserLink"
              }
            },
            "update": {
              "description": "Updates permissions for an existing user on the given view (profile).",
              "parameters": {
                "linkId": {
                  "description": "Link ID to update the user link for.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "profileId": {
                  "type": "string",
                  "required": true,
                  "description": "View (Profile ID) to update the user link for.",
                  "location": "path"
                },
                "webPropertyId": {
                  "type": "string",
                  "description": "Web Property ID to update the user link for.",
                  "location": "path",
                  "required": true
                },
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "Account ID to update the user link for.",
                  "location": "path"
                }
              },
              "request": {
                "$ref": "EntityUserLink"
              },
              "httpMethod": "PUT",
              "id": "analytics.management.profileUserLinks.update",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}",
              "response": {
                "$ref": "EntityUserLink"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId",
                "linkId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "delete": {
              "id": "analytics.management.profileUserLinks.delete",
              "description": "Removes a user from the given view (profile).",
              "parameters": {
                "accountId": {
                  "required": true,
                  "description": "Account ID to delete the user link for.",
                  "location": "path",
                  "type": "string"
                },
                "profileId": {
                  "type": "string",
                  "description": "View (Profile) ID to delete the user link for.",
                  "location": "path",
                  "required": true
                },
                "webPropertyId": {
                  "type": "string",
                  "required": true,
                  "description": "Web Property ID to delete the user link for.",
                  "location": "path"
                },
                "linkId": {
                  "type": "string",
                  "required": true,
                  "description": "Link ID to delete the user link for.",
                  "location": "path"
                }
              },
              "httpMethod": "DELETE",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}",
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId",
                "linkId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users"
              ]
            },
            "list": {
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.manage.users",
                "https://www.googleapis.com/auth/analytics.manage.users.readonly"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks",
              "response": {
                "$ref": "EntityUserLinks"
              },
              "httpMethod": "GET",
              "id": "analytics.management.profileUserLinks.list",
              "description": "Lists profile-user links for a given view (profile).",
              "parameters": {
                "profileId": {
                  "type": "string",
                  "description": "View (Profile) ID to retrieve the profile-user links for. Can either be a specific profile ID or '~all', which refers to all the profiles that user has access to.",
                  "location": "path",
                  "required": true
                },
                "start-index": {
                  "type": "integer",
                  "format": "int32",
                  "description": "An index of the first profile-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query"
                },
                "max-results": {
                  "description": "The maximum number of profile-user links to include in this response.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "webPropertyId": {
                  "description": "Web Property ID which the given view (profile) belongs to. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "Account ID which the given view (profile) belongs to.",
                  "location": "path"
                }
              }
            }
          }
        },
        "unsampledReports": {
          "methods": {
            "delete": {
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports/{unsampledReportId}",
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId",
                "unsampledReportId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "description": "Deletes an unsampled report.",
              "parameters": {
                "profileId": {
                  "description": "View (Profile) ID to delete the unsampled report for.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "webPropertyId": {
                  "description": "Web property ID to delete the unsampled reports for.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "Account ID to delete the unsampled report for.",
                  "location": "path"
                },
                "unsampledReportId": {
                  "required": true,
                  "description": "ID of the unsampled report to be deleted.",
                  "location": "path",
                  "type": "string"
                }
              },
              "id": "analytics.management.unsampledReports.delete",
              "httpMethod": "DELETE"
            },
            "list": {
              "description": "Lists unsampled reports to which the user has access.",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "Account ID to retrieve unsampled reports for. Must be a specific account ID, ~all is not supported.",
                  "location": "path"
                },
                "webPropertyId": {
                  "required": true,
                  "description": "Web property ID to retrieve unsampled reports for. Must be a specific web property ID, ~all is not supported.",
                  "location": "path",
                  "type": "string"
                },
                "max-results": {
                  "description": "The maximum number of unsampled reports to include in this response.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "profileId": {
                  "type": "string",
                  "required": true,
                  "description": "View (Profile) ID to retrieve unsampled reports for. Must be a specific view (profile) ID, ~all is not supported.",
                  "location": "path"
                },
                "start-index": {
                  "description": "An index of the first unsampled report to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                }
              },
              "id": "analytics.management.unsampledReports.list",
              "httpMethod": "GET",
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports",
              "response": {
                "$ref": "UnsampledReports"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            },
            "get": {
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId",
                "unsampledReportId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports/{unsampledReportId}",
              "response": {
                "$ref": "UnsampledReport"
              },
              "httpMethod": "GET",
              "id": "analytics.management.unsampledReports.get",
              "description": "Returns a single unsampled report.",
              "parameters": {
                "accountId": {
                  "type": "string",
                  "description": "Account ID to retrieve unsampled report for.",
                  "location": "path",
                  "required": true
                },
                "unsampledReportId": {
                  "type": "string",
                  "description": "ID of the unsampled report to retrieve.",
                  "location": "path",
                  "required": true
                },
                "profileId": {
                  "description": "View (Profile) ID to retrieve unsampled report for.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "webPropertyId": {
                  "description": "Web property ID to retrieve unsampled reports for.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              }
            },
            "insert": {
              "httpMethod": "POST",
              "description": "Create a new unsampled report.",
              "parameters": {
                "profileId": {
                  "type": "string",
                  "required": true,
                  "description": "View (Profile) ID to create the unsampled report for.",
                  "location": "path"
                },
                "webPropertyId": {
                  "type": "string",
                  "description": "Web property ID to create the unsampled report for.",
                  "location": "path",
                  "required": true
                },
                "accountId": {
                  "type": "string",
                  "required": true,
                  "description": "Account ID to create the unsampled report for.",
                  "location": "path"
                }
              },
              "request": {
                "$ref": "UnsampledReport"
              },
              "parameterOrder": [
                "accountId",
                "webPropertyId",
                "profileId"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit"
              ],
              "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports",
              "response": {
                "$ref": "UnsampledReport"
              },
              "id": "analytics.management.unsampledReports.insert"
            }
          }
        },
        "accounts": {
          "methods": {
            "list": {
              "httpMethod": "GET",
              "id": "analytics.management.accounts.list",
              "description": "Lists all accounts to which the user has access.",
              "parameters": {
                "start-index": {
                  "description": "An index of the first account to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "max-results": {
                  "type": "integer",
                  "format": "int32",
                  "description": "The maximum number of accounts to include in this response.",
                  "location": "query"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "path": "management/accounts",
              "response": {
                "$ref": "Accounts"
              }
            }
          }
        }
      }
    },
    "data": {
      "resources": {
        "ga": {
          "methods": {
            "get": {
              "parameterOrder": [
                "ids",
                "start-date",
                "end-date",
                "metrics"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "path": "data/ga",
              "response": {
                "$ref": "GaData"
              },
              "httpMethod": "GET",
              "description": "Returns Analytics data for a view (profile).",
              "parameters": {
                "start-index": {
                  "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "sort": {
                  "description": "A comma-separated list of dimensions or metrics that determine the sort order for Analytics data.",
                  "pattern": "(-)?ga:.+",
                  "location": "query",
                  "type": "string"
                },
                "include-empty-rows": {
                  "description": "The response will include empty rows if this parameter is set to true, the default is true",
                  "location": "query",
                  "type": "boolean"
                },
                "samplingLevel": {
                  "description": "The desired sampling level.",
                  "location": "query",
                  "enum": [
                    "DEFAULT",
                    "FASTER",
                    "HIGHER_PRECISION"
                  ],
                  "type": "string",
                  "enumDescriptions": [
                    "Returns response with a sample size that balances speed and accuracy.",
                    "Returns a fast response with a smaller sample size.",
                    "Returns a more accurate response using a large sample size, but this may result in the response being slower."
                  ]
                },
                "dimensions": {
                  "description": "A comma-separated list of Analytics dimensions. E.g., 'ga:browser,ga:city'.",
                  "pattern": "(ga:.+)?",
                  "location": "query",
                  "type": "string"
                },
                "filters": {
                  "type": "string",
                  "description": "A comma-separated list of dimension or metric filters to be applied to Analytics data.",
                  "pattern": "ga:.+",
                  "location": "query"
                },
                "ids": {
                  "type": "string",
                  "required": true,
                  "description": "Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID.",
                  "pattern": "ga:[0-9]+",
                  "location": "query"
                },
                "max-results": {
                  "type": "integer",
                  "format": "int32",
                  "description": "The maximum number of entries to include in this feed.",
                  "location": "query"
                },
                "end-date": {
                  "type": "string",
                  "description": "End date for fetching Analytics data. Request can should specify an end date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is yesterday.",
                  "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)",
                  "location": "query",
                  "required": true
                },
                "segment": {
                  "description": "An Analytics segment to be applied to data.",
                  "location": "query",
                  "type": "string"
                },
                "metrics": {
                  "description": "A comma-separated list of Analytics metrics. E.g., 'ga:sessions,ga:pageviews'. At least one metric must be specified.",
                  "pattern": "ga:.+",
                  "location": "query",
                  "required": true,
                  "type": "string"
                },
                "output": {
                  "description": "The selected format for the response. Default format is JSON.",
                  "location": "query",
                  "enum": [
                    "dataTable",
                    "json"
                  ],
                  "enumDescriptions": [
                    "Returns the response in Google Charts Data Table format. This is useful in creating visualization using Google Charts.",
                    "Returns the response in standard JSON format."
                  ],
                  "type": "string"
                },
                "start-date": {
                  "description": "Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo.",
                  "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)",
                  "location": "query",
                  "required": true,
                  "type": "string"
                }
              },
              "id": "analytics.data.ga.get"
            }
          }
        },
        "mcf": {
          "methods": {
            "get": {
              "description": "Returns Analytics Multi-Channel Funnels data for a view (profile).",
              "parameters": {
                "metrics": {
                  "required": true,
                  "description": "A comma-separated list of Multi-Channel Funnels metrics. E.g., 'mcf:totalConversions,mcf:totalConversionValue'. At least one metric must be specified.",
                  "pattern": "mcf:.+",
                  "location": "query",
                  "type": "string"
                },
                "samplingLevel": {
                  "description": "The desired sampling level.",
                  "location": "query",
                  "enum": [
                    "DEFAULT",
                    "FASTER",
                    "HIGHER_PRECISION"
                  ],
                  "enumDescriptions": [
                    "Returns response with a sample size that balances speed and accuracy.",
                    "Returns a fast response with a smaller sample size.",
                    "Returns a more accurate response using a large sample size, but this may result in the response being slower."
                  ],
                  "type": "string"
                },
                "start-date": {
                  "type": "string",
                  "description": "Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo.",
                  "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)",
                  "location": "query",
                  "required": true
                },
                "dimensions": {
                  "type": "string",
                  "description": "A comma-separated list of Multi-Channel Funnels dimensions. E.g., 'mcf:source,mcf:medium'.",
                  "pattern": "(mcf:.+)?",
                  "location": "query"
                },
                "ids": {
                  "required": true,
                  "description": "Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID.",
                  "pattern": "ga:[0-9]+",
                  "location": "query",
                  "type": "string"
                },
                "max-results": {
                  "type": "integer",
                  "format": "int32",
                  "description": "The maximum number of entries to include in this feed.",
                  "location": "query"
                },
                "sort": {
                  "type": "string",
                  "description": "A comma-separated list of dimensions or metrics that determine the sort order for the Analytics data.",
                  "pattern": "(-)?mcf:.+",
                  "location": "query"
                },
                "filters": {
                  "description": "A comma-separated list of dimension or metric filters to be applied to the Analytics data.",
                  "pattern": "mcf:.+",
                  "location": "query",
                  "type": "string"
                },
                "start-index": {
                  "type": "integer",
                  "format": "int32",
                  "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
                  "minimum": "1",
                  "location": "query"
                },
                "end-date": {
                  "type": "string",
                  "description": "End date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo.",
                  "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)",
                  "location": "query",
                  "required": true
                }
              },
              "id": "analytics.data.mcf.get",
              "httpMethod": "GET",
              "path": "data/mcf",
              "response": {
                "$ref": "McfData"
              },
              "parameterOrder": [
                "ids",
                "start-date",
                "end-date",
                "metrics"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            }
          }
        },
        "realtime": {
          "methods": {
            "get": {
              "parameterOrder": [
                "ids",
                "metrics"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.readonly"
              ],
              "path": "data/realtime",
              "response": {
                "$ref": "RealtimeData"
              },
              "httpMethod": "GET",
              "id": "analytics.data.realtime.get",
              "description": "Returns real time data for a view (profile).",
              "parameters": {
                "metrics": {
                  "description": "A comma-separated list of real time metrics. E.g., 'rt:activeUsers'. At least one metric must be specified.",
                  "pattern": "(ga:.+)|(rt:.+)",
                  "location": "query",
                  "required": true,
                  "type": "string"
                },
                "sort": {
                  "description": "A comma-separated list of dimensions or metrics that determine the sort order for real time data.",
                  "pattern": "(-)?((ga:.+)|(rt:.+))",
                  "location": "query",
                  "type": "string"
                },
                "ids": {
                  "required": true,
                  "description": "Unique table ID for retrieving real time data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID.",
                  "pattern": "ga:[0-9]+",
                  "location": "query",
                  "type": "string"
                },
                "max-results": {
                  "description": "The maximum number of entries to include in this feed.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "filters": {
                  "type": "string",
                  "description": "A comma-separated list of dimension or metric filters to be applied to real time data.",
                  "pattern": "(ga:.+)|(rt:.+)",
                  "location": "query"
                },
                "dimensions": {
                  "type": "string",
                  "description": "A comma-separated list of real time dimensions. E.g., 'rt:medium,rt:city'.",
                  "pattern": "(ga:.+)|(rt:.+)",
                  "location": "query"
                }
              }
            }
          }
        }
      }
    },
    "userDeletion": {
      "resources": {
        "userDeletionRequest": {
          "methods": {
            "upsert": {
              "httpMethod": "POST",
              "description": "Insert or update a user deletion requests.",
              "request": {
                "$ref": "UserDeletionRequest"
              },
              "id": "analytics.userDeletion.userDeletionRequest.upsert",
              "scopes": [
                "https://www.googleapis.com/auth/analytics.user.deletion"
              ],
              "path": "userDeletion/userDeletionRequests:upsert",
              "response": {
                "$ref": "UserDeletionRequest"
              }
            }
          }
        }
      }
    },
    "metadata": {
      "resources": {
        "columns": {
          "methods": {
            "list": {
              "description": "Lists all columns for a report type",
              "parameters": {
                "reportType": {
                  "required": true,
                  "description": "Report type. Allowed Values: 'ga'. Where 'ga' corresponds to the Core Reporting API",
                  "pattern": "ga",
                  "location": "path",
                  "type": "string"
                }
              },
              "id": "analytics.metadata.columns.list",
              "httpMethod": "GET",
              "path": "metadata/{reportType}/columns",
              "response": {
                "$ref": "Columns"
              },
              "parameterOrder": [
                "reportType"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/analytics",
                "https://www.googleapis.com/auth/analytics.edit",
                "https://www.googleapis.com/auth/analytics.readonly"
              ]
            }
          }
        }
      }
    },
    "provisioning": {
      "methods": {
        "createAccountTree": {
          "id": "analytics.provisioning.createAccountTree",
          "description": "Provision account.",
          "request": {
            "$ref": "AccountTreeRequest"
          },
          "httpMethod": "POST",
          "path": "provisioning/createAccountTree",
          "response": {
            "$ref": "AccountTreeResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/analytics.provision"
          ]
        },
        "createAccountTicket": {
          "httpMethod": "POST",
          "description": "Creates an account ticket.",
          "request": {
            "$ref": "AccountTicket"
          },
          "id": "analytics.provisioning.createAccountTicket",
          "scopes": [
            "https://www.googleapis.com/auth/analytics.provision"
          ],
          "path": "provisioning/createAccountTicket",
          "response": {
            "$ref": "AccountTicket"
          }
        }
      }
    }
  },
  "basePath": "/analytics/v3/",
  "icons": {
    "x16": "https://www.google.com/images/icons/product/analytics-16.png",
    "x32": "https://www.google.com/images/icons/product/analytics-32.png"
  },
  "description": "Views and manages your Google Analytics data.",
  "batchPath": "batch/analytics/v3",
  "ownerName": "Google",
  "title": "Google Analytics API"
}
