Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/youtubeAnalytics_v2.groups.html b/docs/dyn/youtubeAnalytics_v2.groups.html
new file mode 100644
index 0000000..dba2862
--- /dev/null
+++ b/docs/dyn/youtubeAnalytics_v2.groups.html
@@ -0,0 +1,687 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="youtubeAnalytics_v2.html">YouTube Analytics API</a> . <a href="youtubeAnalytics_v2.groups.html">groups</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(onBehalfOfContentOwner=None, id=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a group.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(body, onBehalfOfContentOwner=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a group.</p>
+<p class="toc_element">
+  <code><a href="#list">list(onBehalfOfContentOwner=None, mine=None, id=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns a collection of groups that match the API request parameters. For</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#update">update(body, onBehalfOfContentOwner=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Modifies a group. For example, you could change a group's title.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(onBehalfOfContentOwner=None, id=None, x__xgafv=None)</code>
+  <pre>Deletes a group.
+
+Args:
+  onBehalfOfContentOwner: string, This parameter can only be used in a properly authorized request. **Note:**
+This parameter is intended exclusively for YouTube content partners that
+own and manage many different YouTube channels.
+
+The `onBehalfOfContentOwner` parameter indicates that the request's
+authorization credentials identify a YouTube user who is acting on behalf
+of the content owner specified in the parameter value. It allows content
+owners to authenticate once and get access to all their video and channel
+data, without having to provide authentication credentials for each
+individual channel. The account that the user authenticates with must be
+linked to the specified YouTube content owner.
+  id: string, The `id` parameter specifies the YouTube group ID of the group that is
+being deleted.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Empty response.
+    "errors": { # Request Error information. # Apiary error details
+        #
+        # The presence of an error field signals that the operation
+        # has failed.
+      "code": "A String", # Global error code. Deprecated and ignored.
+          # Set custom error codes in ErrorProto.domain and ErrorProto.code
+          # instead.
+      "requestId": "A String", # Request identifier generated by the service, which can be
+          # used to identify the error in the logs
+      "error": [ # Specific error description and codes
+        { # Describes one specific error.
+          "domain": "A String", # Error domain. RoSy services can define their own
+              # domain and error codes. This should normally be
+              # the name of an enum type, such as: gdata.CoreErrorDomain
+          "code": "A String", # Error code in the error domain. This should correspond to
+              # a value of the enum type whose name is in domain. See
+              # the core error domain in error_domain.proto.
+          "externalErrorMessage": "A String", # A short explanation for the error, which can be shared outside Google.
+              #
+              # Please set domain, code and arguments whenever possible instead of this
+              # error message so that external APIs can build safe error messages
+              # themselves.
+              #
+              # External messages built in a RoSy interface will most likely refer to
+              # information and concepts that are not available externally and should not
+              # be exposed. It is safer if external APIs can understand the errors and
+              # decide what the error message should look like.
+          "debugInfo": "A String", # Debugging information, which should not be
+              # shared externally.
+          "locationType": "A String",
+          "argument": [ # Error arguments, to be used when building user-friendly error messages
+              # given the error domain and code.  Different error codes require different
+              # arguments.
+            "A String",
+          ],
+          "location": "A String", # Location of the error, as specified by the location type.
+              #
+              # If location_type is PATH, this should be a path to a field that's
+              # relative to the request, using FieldPath notation
+              # (net/proto2/util/public/field_path.h).
+              #
+              # Examples:
+              #   authenticated_user.gaia_id
+              #   resource.address[2].country
+        },
+      ],
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(body, onBehalfOfContentOwner=None, x__xgafv=None)</code>
+  <pre>Creates a group.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A group.
+    "kind": "A String", # Identifies the API resource's type. The value will be `youtube#group`.
+    "errors": { # Request Error information. # Apiary error details
+        #
+        # The presence of an error field signals that the operation
+        # has failed.
+      "code": "A String", # Global error code. Deprecated and ignored.
+          # Set custom error codes in ErrorProto.domain and ErrorProto.code
+          # instead.
+      "requestId": "A String", # Request identifier generated by the service, which can be
+          # used to identify the error in the logs
+      "error": [ # Specific error description and codes
+        { # Describes one specific error.
+          "domain": "A String", # Error domain. RoSy services can define their own
+              # domain and error codes. This should normally be
+              # the name of an enum type, such as: gdata.CoreErrorDomain
+          "code": "A String", # Error code in the error domain. This should correspond to
+              # a value of the enum type whose name is in domain. See
+              # the core error domain in error_domain.proto.
+          "externalErrorMessage": "A String", # A short explanation for the error, which can be shared outside Google.
+              #
+              # Please set domain, code and arguments whenever possible instead of this
+              # error message so that external APIs can build safe error messages
+              # themselves.
+              #
+              # External messages built in a RoSy interface will most likely refer to
+              # information and concepts that are not available externally and should not
+              # be exposed. It is safer if external APIs can understand the errors and
+              # decide what the error message should look like.
+          "debugInfo": "A String", # Debugging information, which should not be
+              # shared externally.
+          "locationType": "A String",
+          "argument": [ # Error arguments, to be used when building user-friendly error messages
+              # given the error domain and code.  Different error codes require different
+              # arguments.
+            "A String",
+          ],
+          "location": "A String", # Location of the error, as specified by the location type.
+              #
+              # If location_type is PATH, this should be a path to a field that's
+              # relative to the request, using FieldPath notation
+              # (net/proto2/util/public/field_path.h).
+              #
+              # Examples:
+              #   authenticated_user.gaia_id
+              #   resource.address[2].country
+        },
+      ],
+    },
+    "contentDetails": { # A group's content details. # The `contentDetails` object contains additional information about the
+        # group, such as the number and type of items that it contains.
+      "itemCount": "A String", # The number of items in the group.
+      "itemType": "A String", # The type of resources that the group contains.
+          #
+          # Valid values for this property are:
+          #  * `youtube#channel`
+          #  * `youtube#playlist`
+          #  * `youtube#video`
+          #  * `youtubePartner#asset`
+    },
+    "snippet": { # A group snippet. # The `snippet` object contains basic information about the group, including
+        # its creation date and name.
+      "publishedAt": "A String", # The date and time that the group was created. The value is specified in
+          # ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "title": "A String", # The group name. The value must be a non-empty string.
+    },
+    "etag": "A String", # The Etag of this resource.
+    "id": "A String", # The ID that YouTube uses to uniquely identify the group.
+  }
+
+  onBehalfOfContentOwner: string, This parameter can only be used in a properly authorized request. **Note:**
+This parameter is intended exclusively for YouTube content partners that
+own and manage many different YouTube channels.
+
+The `onBehalfOfContentOwner` parameter indicates that the request's
+authorization credentials identify a YouTube user who is acting on behalf
+of the content owner specified in the parameter value. It allows content
+owners to authenticate once and get access to all their video and channel
+data, without having to provide authentication credentials for each
+individual channel. The account that the user authenticates with must be
+linked to the specified YouTube content owner.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A group.
+      "kind": "A String", # Identifies the API resource's type. The value will be `youtube#group`.
+      "errors": { # Request Error information. # Apiary error details
+          #
+          # The presence of an error field signals that the operation
+          # has failed.
+        "code": "A String", # Global error code. Deprecated and ignored.
+            # Set custom error codes in ErrorProto.domain and ErrorProto.code
+            # instead.
+        "requestId": "A String", # Request identifier generated by the service, which can be
+            # used to identify the error in the logs
+        "error": [ # Specific error description and codes
+          { # Describes one specific error.
+            "domain": "A String", # Error domain. RoSy services can define their own
+                # domain and error codes. This should normally be
+                # the name of an enum type, such as: gdata.CoreErrorDomain
+            "code": "A String", # Error code in the error domain. This should correspond to
+                # a value of the enum type whose name is in domain. See
+                # the core error domain in error_domain.proto.
+            "externalErrorMessage": "A String", # A short explanation for the error, which can be shared outside Google.
+                #
+                # Please set domain, code and arguments whenever possible instead of this
+                # error message so that external APIs can build safe error messages
+                # themselves.
+                #
+                # External messages built in a RoSy interface will most likely refer to
+                # information and concepts that are not available externally and should not
+                # be exposed. It is safer if external APIs can understand the errors and
+                # decide what the error message should look like.
+            "debugInfo": "A String", # Debugging information, which should not be
+                # shared externally.
+            "locationType": "A String",
+            "argument": [ # Error arguments, to be used when building user-friendly error messages
+                # given the error domain and code.  Different error codes require different
+                # arguments.
+              "A String",
+            ],
+            "location": "A String", # Location of the error, as specified by the location type.
+                #
+                # If location_type is PATH, this should be a path to a field that's
+                # relative to the request, using FieldPath notation
+                # (net/proto2/util/public/field_path.h).
+                #
+                # Examples:
+                #   authenticated_user.gaia_id
+                #   resource.address[2].country
+          },
+        ],
+      },
+      "contentDetails": { # A group's content details. # The `contentDetails` object contains additional information about the
+          # group, such as the number and type of items that it contains.
+        "itemCount": "A String", # The number of items in the group.
+        "itemType": "A String", # The type of resources that the group contains.
+            #
+            # Valid values for this property are:
+            #  * `youtube#channel`
+            #  * `youtube#playlist`
+            #  * `youtube#video`
+            #  * `youtubePartner#asset`
+      },
+      "snippet": { # A group snippet. # The `snippet` object contains basic information about the group, including
+          # its creation date and name.
+        "publishedAt": "A String", # The date and time that the group was created. The value is specified in
+            # ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+        "title": "A String", # The group name. The value must be a non-empty string.
+      },
+      "etag": "A String", # The Etag of this resource.
+      "id": "A String", # The ID that YouTube uses to uniquely identify the group.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(onBehalfOfContentOwner=None, mine=None, id=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Returns a collection of groups that match the API request parameters. For
+example, you can retrieve all groups that the authenticated user owns,
+or you can retrieve one or more groups by their unique IDs.
+
+Args:
+  onBehalfOfContentOwner: string, This parameter can only be used in a properly authorized request. **Note:**
+This parameter is intended exclusively for YouTube content partners that
+own and manage many different YouTube channels.
+
+The `onBehalfOfContentOwner` parameter indicates that the request's
+authorization credentials identify a YouTube user who is acting on behalf
+of the content owner specified in the parameter value. It allows content
+owners to authenticate once and get access to all their video and channel
+data, without having to provide authentication credentials for each
+individual channel. The account that the user authenticates with must be
+linked to the specified YouTube content owner.
+  mine: boolean, This parameter can only be used in a properly authorized request. Set this
+parameter's value to true to retrieve all groups owned by the authenticated
+user.
+  id: string, The `id` parameter specifies a comma-separated list of the YouTube group
+ID(s) for the resource(s) that are being retrieved. Each group must be
+owned by the authenticated user. In a `group` resource, the `id` property
+specifies the group's YouTube group ID.
+
+Note that if you do not specify a value for the `id` parameter, then you
+must set the `mine` parameter to `true`.
+  pageToken: string, The `pageToken` parameter identifies a specific page in the result set that
+should be returned. In an API response, the `nextPageToken` property
+identifies the next page that can be retrieved.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for GroupsService.ListGroups.
+    "nextPageToken": "A String", # The token that can be used as the value of the `pageToken` parameter to
+        # retrieve the next page in the result set.
+    "items": [ # A list of groups that match the API request parameters. Each item in the
+        # list represents a `group` resource.
+      { # A group.
+          "kind": "A String", # Identifies the API resource's type. The value will be `youtube#group`.
+          "errors": { # Request Error information. # Apiary error details
+              #
+              # The presence of an error field signals that the operation
+              # has failed.
+            "code": "A String", # Global error code. Deprecated and ignored.
+                # Set custom error codes in ErrorProto.domain and ErrorProto.code
+                # instead.
+            "requestId": "A String", # Request identifier generated by the service, which can be
+                # used to identify the error in the logs
+            "error": [ # Specific error description and codes
+              { # Describes one specific error.
+                "domain": "A String", # Error domain. RoSy services can define their own
+                    # domain and error codes. This should normally be
+                    # the name of an enum type, such as: gdata.CoreErrorDomain
+                "code": "A String", # Error code in the error domain. This should correspond to
+                    # a value of the enum type whose name is in domain. See
+                    # the core error domain in error_domain.proto.
+                "externalErrorMessage": "A String", # A short explanation for the error, which can be shared outside Google.
+                    #
+                    # Please set domain, code and arguments whenever possible instead of this
+                    # error message so that external APIs can build safe error messages
+                    # themselves.
+                    #
+                    # External messages built in a RoSy interface will most likely refer to
+                    # information and concepts that are not available externally and should not
+                    # be exposed. It is safer if external APIs can understand the errors and
+                    # decide what the error message should look like.
+                "debugInfo": "A String", # Debugging information, which should not be
+                    # shared externally.
+                "locationType": "A String",
+                "argument": [ # Error arguments, to be used when building user-friendly error messages
+                    # given the error domain and code.  Different error codes require different
+                    # arguments.
+                  "A String",
+                ],
+                "location": "A String", # Location of the error, as specified by the location type.
+                    #
+                    # If location_type is PATH, this should be a path to a field that's
+                    # relative to the request, using FieldPath notation
+                    # (net/proto2/util/public/field_path.h).
+                    #
+                    # Examples:
+                    #   authenticated_user.gaia_id
+                    #   resource.address[2].country
+              },
+            ],
+          },
+          "contentDetails": { # A group's content details. # The `contentDetails` object contains additional information about the
+              # group, such as the number and type of items that it contains.
+            "itemCount": "A String", # The number of items in the group.
+            "itemType": "A String", # The type of resources that the group contains.
+                #
+                # Valid values for this property are:
+                #  * `youtube#channel`
+                #  * `youtube#playlist`
+                #  * `youtube#video`
+                #  * `youtubePartner#asset`
+          },
+          "snippet": { # A group snippet. # The `snippet` object contains basic information about the group, including
+              # its creation date and name.
+            "publishedAt": "A String", # The date and time that the group was created. The value is specified in
+                # ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+            "title": "A String", # The group name. The value must be a non-empty string.
+          },
+          "etag": "A String", # The Etag of this resource.
+          "id": "A String", # The ID that YouTube uses to uniquely identify the group.
+        },
+    ],
+    "kind": "A String", # Identifies the API resource's type. The value will be
+        # `youtube#groupListResponse`.
+    "errors": { # Request Error information. # Apiary error details
+        #
+        # The presence of an error field signals that the operation
+        # has failed.
+      "code": "A String", # Global error code. Deprecated and ignored.
+          # Set custom error codes in ErrorProto.domain and ErrorProto.code
+          # instead.
+      "requestId": "A String", # Request identifier generated by the service, which can be
+          # used to identify the error in the logs
+      "error": [ # Specific error description and codes
+        { # Describes one specific error.
+          "domain": "A String", # Error domain. RoSy services can define their own
+              # domain and error codes. This should normally be
+              # the name of an enum type, such as: gdata.CoreErrorDomain
+          "code": "A String", # Error code in the error domain. This should correspond to
+              # a value of the enum type whose name is in domain. See
+              # the core error domain in error_domain.proto.
+          "externalErrorMessage": "A String", # A short explanation for the error, which can be shared outside Google.
+              #
+              # Please set domain, code and arguments whenever possible instead of this
+              # error message so that external APIs can build safe error messages
+              # themselves.
+              #
+              # External messages built in a RoSy interface will most likely refer to
+              # information and concepts that are not available externally and should not
+              # be exposed. It is safer if external APIs can understand the errors and
+              # decide what the error message should look like.
+          "debugInfo": "A String", # Debugging information, which should not be
+              # shared externally.
+          "locationType": "A String",
+          "argument": [ # Error arguments, to be used when building user-friendly error messages
+              # given the error domain and code.  Different error codes require different
+              # arguments.
+            "A String",
+          ],
+          "location": "A String", # Location of the error, as specified by the location type.
+              #
+              # If location_type is PATH, this should be a path to a field that's
+              # relative to the request, using FieldPath notation
+              # (net/proto2/util/public/field_path.h).
+              #
+              # Examples:
+              #   authenticated_user.gaia_id
+              #   resource.address[2].country
+        },
+      ],
+    },
+    "etag": "A String", # The Etag of this resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(body, onBehalfOfContentOwner=None, x__xgafv=None)</code>
+  <pre>Modifies a group. For example, you could change a group's title.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A group.
+    "kind": "A String", # Identifies the API resource's type. The value will be `youtube#group`.
+    "errors": { # Request Error information. # Apiary error details
+        #
+        # The presence of an error field signals that the operation
+        # has failed.
+      "code": "A String", # Global error code. Deprecated and ignored.
+          # Set custom error codes in ErrorProto.domain and ErrorProto.code
+          # instead.
+      "requestId": "A String", # Request identifier generated by the service, which can be
+          # used to identify the error in the logs
+      "error": [ # Specific error description and codes
+        { # Describes one specific error.
+          "domain": "A String", # Error domain. RoSy services can define their own
+              # domain and error codes. This should normally be
+              # the name of an enum type, such as: gdata.CoreErrorDomain
+          "code": "A String", # Error code in the error domain. This should correspond to
+              # a value of the enum type whose name is in domain. See
+              # the core error domain in error_domain.proto.
+          "externalErrorMessage": "A String", # A short explanation for the error, which can be shared outside Google.
+              #
+              # Please set domain, code and arguments whenever possible instead of this
+              # error message so that external APIs can build safe error messages
+              # themselves.
+              #
+              # External messages built in a RoSy interface will most likely refer to
+              # information and concepts that are not available externally and should not
+              # be exposed. It is safer if external APIs can understand the errors and
+              # decide what the error message should look like.
+          "debugInfo": "A String", # Debugging information, which should not be
+              # shared externally.
+          "locationType": "A String",
+          "argument": [ # Error arguments, to be used when building user-friendly error messages
+              # given the error domain and code.  Different error codes require different
+              # arguments.
+            "A String",
+          ],
+          "location": "A String", # Location of the error, as specified by the location type.
+              #
+              # If location_type is PATH, this should be a path to a field that's
+              # relative to the request, using FieldPath notation
+              # (net/proto2/util/public/field_path.h).
+              #
+              # Examples:
+              #   authenticated_user.gaia_id
+              #   resource.address[2].country
+        },
+      ],
+    },
+    "contentDetails": { # A group's content details. # The `contentDetails` object contains additional information about the
+        # group, such as the number and type of items that it contains.
+      "itemCount": "A String", # The number of items in the group.
+      "itemType": "A String", # The type of resources that the group contains.
+          #
+          # Valid values for this property are:
+          #  * `youtube#channel`
+          #  * `youtube#playlist`
+          #  * `youtube#video`
+          #  * `youtubePartner#asset`
+    },
+    "snippet": { # A group snippet. # The `snippet` object contains basic information about the group, including
+        # its creation date and name.
+      "publishedAt": "A String", # The date and time that the group was created. The value is specified in
+          # ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "title": "A String", # The group name. The value must be a non-empty string.
+    },
+    "etag": "A String", # The Etag of this resource.
+    "id": "A String", # The ID that YouTube uses to uniquely identify the group.
+  }
+
+  onBehalfOfContentOwner: string, This parameter can only be used in a properly authorized request. **Note:**
+This parameter is intended exclusively for YouTube content partners that
+own and manage many different YouTube channels.
+
+The `onBehalfOfContentOwner` parameter indicates that the request's
+authorization credentials identify a YouTube user who is acting on behalf
+of the content owner specified in the parameter value. It allows content
+owners to authenticate once and get access to all their video and channel
+data, without having to provide authentication credentials for each
+individual channel. The account that the user authenticates with must be
+linked to the specified YouTube content owner.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A group.
+      "kind": "A String", # Identifies the API resource's type. The value will be `youtube#group`.
+      "errors": { # Request Error information. # Apiary error details
+          #
+          # The presence of an error field signals that the operation
+          # has failed.
+        "code": "A String", # Global error code. Deprecated and ignored.
+            # Set custom error codes in ErrorProto.domain and ErrorProto.code
+            # instead.
+        "requestId": "A String", # Request identifier generated by the service, which can be
+            # used to identify the error in the logs
+        "error": [ # Specific error description and codes
+          { # Describes one specific error.
+            "domain": "A String", # Error domain. RoSy services can define their own
+                # domain and error codes. This should normally be
+                # the name of an enum type, such as: gdata.CoreErrorDomain
+            "code": "A String", # Error code in the error domain. This should correspond to
+                # a value of the enum type whose name is in domain. See
+                # the core error domain in error_domain.proto.
+            "externalErrorMessage": "A String", # A short explanation for the error, which can be shared outside Google.
+                #
+                # Please set domain, code and arguments whenever possible instead of this
+                # error message so that external APIs can build safe error messages
+                # themselves.
+                #
+                # External messages built in a RoSy interface will most likely refer to
+                # information and concepts that are not available externally and should not
+                # be exposed. It is safer if external APIs can understand the errors and
+                # decide what the error message should look like.
+            "debugInfo": "A String", # Debugging information, which should not be
+                # shared externally.
+            "locationType": "A String",
+            "argument": [ # Error arguments, to be used when building user-friendly error messages
+                # given the error domain and code.  Different error codes require different
+                # arguments.
+              "A String",
+            ],
+            "location": "A String", # Location of the error, as specified by the location type.
+                #
+                # If location_type is PATH, this should be a path to a field that's
+                # relative to the request, using FieldPath notation
+                # (net/proto2/util/public/field_path.h).
+                #
+                # Examples:
+                #   authenticated_user.gaia_id
+                #   resource.address[2].country
+          },
+        ],
+      },
+      "contentDetails": { # A group's content details. # The `contentDetails` object contains additional information about the
+          # group, such as the number and type of items that it contains.
+        "itemCount": "A String", # The number of items in the group.
+        "itemType": "A String", # The type of resources that the group contains.
+            #
+            # Valid values for this property are:
+            #  * `youtube#channel`
+            #  * `youtube#playlist`
+            #  * `youtube#video`
+            #  * `youtubePartner#asset`
+      },
+      "snippet": { # A group snippet. # The `snippet` object contains basic information about the group, including
+          # its creation date and name.
+        "publishedAt": "A String", # The date and time that the group was created. The value is specified in
+            # ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+        "title": "A String", # The group name. The value must be a non-empty string.
+      },
+      "etag": "A String", # The Etag of this resource.
+      "id": "A String", # The ID that YouTube uses to uniquely identify the group.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file