diff --git a/docs/dyn/adexchangebuyer_v1_2.accounts.html b/docs/dyn/adexchangebuyer_v1_2.accounts.html
new file mode 100644
index 0000000..3cc70b1
--- /dev/null
+++ b/docs/dyn/adexchangebuyer_v1_2.accounts.html
@@ -0,0 +1,258 @@
+<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="adexchangebuyer_v1_2.html">Ad Exchange Buyer API</a> . <a href="adexchangebuyer_v1_2.accounts.html">accounts</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(id)</a></code></p>
+<p class="firstline">Gets one account by ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list()</a></code></p>
+<p class="firstline">Retrieves the authenticated user's list of accounts.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(id, body)</a></code></p>
+<p class="firstline">Updates an existing account. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(id, body)</a></code></p>
+<p class="firstline">Updates an existing account.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(id)</code>
+  <pre>Gets one account by ID.
+
+Args:
+  id: integer, The account id (required)
+
+Returns:
+  An object of the form:
+
+    { # Configuration data for an Ad Exchange buyer account.
+      "kind": "adexchangebuyer#account", # Resource type.
+      "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
+      "bidderLocation": [ # Your bidder locations that have distinct URLs.
+        {
+          "url": "A String", # The URL to which the Ad Exchange will send bid requests.
+          "region": "A String", # The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values:
+              # - ASIA
+              # - EUROPE
+              # - US_EAST
+              # - US_WEST
+          "maximumQps": 42, # The maximum queries per second the Ad Exchange will send.
+        },
+      ],
+      "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
+      "id": 42, # Account id.
+      "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list()</code>
+  <pre>Retrieves the authenticated user's list of accounts.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    { # An account feed lists Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single buyer account.
+    "items": [ # A list of accounts.
+      { # Configuration data for an Ad Exchange buyer account.
+          "kind": "adexchangebuyer#account", # Resource type.
+          "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
+          "bidderLocation": [ # Your bidder locations that have distinct URLs.
+            {
+              "url": "A String", # The URL to which the Ad Exchange will send bid requests.
+              "region": "A String", # The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values:
+                  # - ASIA
+                  # - EUROPE
+                  # - US_EAST
+                  # - US_WEST
+              "maximumQps": 42, # The maximum queries per second the Ad Exchange will send.
+            },
+          ],
+          "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
+          "id": 42, # Account id.
+          "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
+        },
+    ],
+    "kind": "adexchangebuyer#accountsList", # Resource type.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(id, body)</code>
+  <pre>Updates an existing account. This method supports patch semantics.
+
+Args:
+  id: integer, The account id (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Configuration data for an Ad Exchange buyer account.
+    "kind": "adexchangebuyer#account", # Resource type.
+    "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
+    "bidderLocation": [ # Your bidder locations that have distinct URLs.
+      {
+        "url": "A String", # The URL to which the Ad Exchange will send bid requests.
+        "region": "A String", # The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values:
+            # - ASIA
+            # - EUROPE
+            # - US_EAST
+            # - US_WEST
+        "maximumQps": 42, # The maximum queries per second the Ad Exchange will send.
+      },
+    ],
+    "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
+    "id": 42, # Account id.
+    "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Configuration data for an Ad Exchange buyer account.
+      "kind": "adexchangebuyer#account", # Resource type.
+      "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
+      "bidderLocation": [ # Your bidder locations that have distinct URLs.
+        {
+          "url": "A String", # The URL to which the Ad Exchange will send bid requests.
+          "region": "A String", # The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values:
+              # - ASIA
+              # - EUROPE
+              # - US_EAST
+              # - US_WEST
+          "maximumQps": 42, # The maximum queries per second the Ad Exchange will send.
+        },
+      ],
+      "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
+      "id": 42, # Account id.
+      "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(id, body)</code>
+  <pre>Updates an existing account.
+
+Args:
+  id: integer, The account id (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Configuration data for an Ad Exchange buyer account.
+    "kind": "adexchangebuyer#account", # Resource type.
+    "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
+    "bidderLocation": [ # Your bidder locations that have distinct URLs.
+      {
+        "url": "A String", # The URL to which the Ad Exchange will send bid requests.
+        "region": "A String", # The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values:
+            # - ASIA
+            # - EUROPE
+            # - US_EAST
+            # - US_WEST
+        "maximumQps": 42, # The maximum queries per second the Ad Exchange will send.
+      },
+    ],
+    "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
+    "id": 42, # Account id.
+    "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Configuration data for an Ad Exchange buyer account.
+      "kind": "adexchangebuyer#account", # Resource type.
+      "maximumTotalQps": 42, # The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.
+      "bidderLocation": [ # Your bidder locations that have distinct URLs.
+        {
+          "url": "A String", # The URL to which the Ad Exchange will send bid requests.
+          "region": "A String", # The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values:
+              # - ASIA
+              # - EUROPE
+              # - US_EAST
+              # - US_WEST
+          "maximumQps": 42, # The maximum queries per second the Ad Exchange will send.
+        },
+      ],
+      "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.
+      "id": 42, # Account id.
+      "cookieMatchingUrl": "A String", # The base URL used in cookie match requests.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangebuyer_v1_2.creatives.html b/docs/dyn/adexchangebuyer_v1_2.creatives.html
new file mode 100644
index 0000000..d2ef5ba
--- /dev/null
+++ b/docs/dyn/adexchangebuyer_v1_2.creatives.html
@@ -0,0 +1,308 @@
+<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="adexchangebuyer_v1_2.html">Ad Exchange Buyer API</a> . <a href="adexchangebuyer_v1_2.creatives.html">creatives</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(accountId, buyerCreativeId)</a></code></p>
+<p class="firstline">Gets the status for a single creative.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(body)</a></code></p>
+<p class="firstline">Submit a new creative.</p>
+<p class="toc_element">
+  <code><a href="#list">list(pageToken=None, maxResults=None, statusFilter=None)</a></code></p>
+<p class="firstline">Retrieves a list of the authenticated user's active creatives.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(accountId, buyerCreativeId)</code>
+  <pre>Gets the status for a single creative.
+
+Args:
+  accountId: integer, The id for the account that will serve this creative. (required)
+  buyerCreativeId: string, The buyer-specific id for this creative. (required)
+
+Returns:
+  An object of the form:
+
+    { # A creative and its classification data.
+      "productCategories": [ # Detected product categories, if any. Read-only. This field should not be set in requests.
+        42,
+      ],
+      "advertiserName": "A String", # The name of the company being advertised in the creative.
+      "kind": "adexchangebuyer#creative", # Resource type.
+      "videoURL": "A String", # The url to fetch a video ad. If set, HTMLSnippet should not be set.
+      "agencyId": "A String", # The agency id for this creative.
+      "width": 42, # Ad width.
+      "attribute": [ # All attributes for the ads that may be shown from this snippet.
+        42,
+      ],
+      "height": 42, # Ad height.
+      "advertiserId": [ # Detected advertiser id, if any. Read-only. This field should not be set in requests.
+        "A String",
+      ],
+      "HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.
+      "status": "A String", # Creative serving status. Read-only. This field should not be set in requests.
+      "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad.
+      "clickThroughUrl": [ # The set of destination urls for the snippet.
+        "A String",
+      ],
+      "vendorType": [ # All vendor types for the ads that may be shown from this snippet.
+        42,
+      ],
+      "disapprovalReasons": [ # The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.
+        {
+          "reason": "A String", # The categorized reason for disapproval.
+          "details": [ # Additional details about the reason for disapproval.
+            "A String",
+          ],
+        },
+      ],
+      "sensitiveCategories": [ # Detected sensitive categories, if any. Read-only. This field should not be set in requests.
+        42,
+      ],
+      "accountId": 42, # Account id.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(body)</code>
+  <pre>Submit a new creative.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A creative and its classification data.
+    "productCategories": [ # Detected product categories, if any. Read-only. This field should not be set in requests.
+      42,
+    ],
+    "advertiserName": "A String", # The name of the company being advertised in the creative.
+    "kind": "adexchangebuyer#creative", # Resource type.
+    "videoURL": "A String", # The url to fetch a video ad. If set, HTMLSnippet should not be set.
+    "agencyId": "A String", # The agency id for this creative.
+    "width": 42, # Ad width.
+    "attribute": [ # All attributes for the ads that may be shown from this snippet.
+      42,
+    ],
+    "height": 42, # Ad height.
+    "advertiserId": [ # Detected advertiser id, if any. Read-only. This field should not be set in requests.
+      "A String",
+    ],
+    "HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.
+    "status": "A String", # Creative serving status. Read-only. This field should not be set in requests.
+    "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad.
+    "clickThroughUrl": [ # The set of destination urls for the snippet.
+      "A String",
+    ],
+    "vendorType": [ # All vendor types for the ads that may be shown from this snippet.
+      42,
+    ],
+    "disapprovalReasons": [ # The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.
+      {
+        "reason": "A String", # The categorized reason for disapproval.
+        "details": [ # Additional details about the reason for disapproval.
+          "A String",
+        ],
+      },
+    ],
+    "sensitiveCategories": [ # Detected sensitive categories, if any. Read-only. This field should not be set in requests.
+      42,
+    ],
+    "accountId": 42, # Account id.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A creative and its classification data.
+      "productCategories": [ # Detected product categories, if any. Read-only. This field should not be set in requests.
+        42,
+      ],
+      "advertiserName": "A String", # The name of the company being advertised in the creative.
+      "kind": "adexchangebuyer#creative", # Resource type.
+      "videoURL": "A String", # The url to fetch a video ad. If set, HTMLSnippet should not be set.
+      "agencyId": "A String", # The agency id for this creative.
+      "width": 42, # Ad width.
+      "attribute": [ # All attributes for the ads that may be shown from this snippet.
+        42,
+      ],
+      "height": 42, # Ad height.
+      "advertiserId": [ # Detected advertiser id, if any. Read-only. This field should not be set in requests.
+        "A String",
+      ],
+      "HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.
+      "status": "A String", # Creative serving status. Read-only. This field should not be set in requests.
+      "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad.
+      "clickThroughUrl": [ # The set of destination urls for the snippet.
+        "A String",
+      ],
+      "vendorType": [ # All vendor types for the ads that may be shown from this snippet.
+        42,
+      ],
+      "disapprovalReasons": [ # The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.
+        {
+          "reason": "A String", # The categorized reason for disapproval.
+          "details": [ # Additional details about the reason for disapproval.
+            "A String",
+          ],
+        },
+      ],
+      "sensitiveCategories": [ # Detected sensitive categories, if any. Read-only. This field should not be set in requests.
+        42,
+      ],
+      "accountId": 42, # Account id.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(pageToken=None, maxResults=None, statusFilter=None)</code>
+  <pre>Retrieves a list of the authenticated user's active creatives.
+
+Args:
+  pageToken: string, A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. Optional.
+  maxResults: integer, Maximum number of entries returned on one result page. If not set, the default is 100. Optional.
+  statusFilter: string, When specified, only creatives having the given status are returned.
+    Allowed values
+      approved - Creatives which have been approved.
+      disapproved - Creatives which have been disapproved.
+      not_checked - Creatives whose status is not yet checked.
+
+Returns:
+  An object of the form:
+
+    { # The creatives feed lists the active creatives for the Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single creative.
+    "nextPageToken": "A String", # Continuation token used to page through creatives. To retrieve the next page of results, set the next request's "pageToken" value to this.
+    "items": [ # A list of creatives.
+      { # A creative and its classification data.
+          "productCategories": [ # Detected product categories, if any. Read-only. This field should not be set in requests.
+            42,
+          ],
+          "advertiserName": "A String", # The name of the company being advertised in the creative.
+          "kind": "adexchangebuyer#creative", # Resource type.
+          "videoURL": "A String", # The url to fetch a video ad. If set, HTMLSnippet should not be set.
+          "agencyId": "A String", # The agency id for this creative.
+          "width": 42, # Ad width.
+          "attribute": [ # All attributes for the ads that may be shown from this snippet.
+            42,
+          ],
+          "height": 42, # Ad height.
+          "advertiserId": [ # Detected advertiser id, if any. Read-only. This field should not be set in requests.
+            "A String",
+          ],
+          "HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.
+          "status": "A String", # Creative serving status. Read-only. This field should not be set in requests.
+          "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad.
+          "clickThroughUrl": [ # The set of destination urls for the snippet.
+            "A String",
+          ],
+          "vendorType": [ # All vendor types for the ads that may be shown from this snippet.
+            42,
+          ],
+          "disapprovalReasons": [ # The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.
+            {
+              "reason": "A String", # The categorized reason for disapproval.
+              "details": [ # Additional details about the reason for disapproval.
+                "A String",
+              ],
+            },
+          ],
+          "sensitiveCategories": [ # Detected sensitive categories, if any. Read-only. This field should not be set in requests.
+            42,
+          ],
+          "accountId": 42, # Account id.
+        },
+    ],
+    "kind": "adexchangebuyer#creativesList", # Resource type.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangebuyer_v1_2.directDeals.html b/docs/dyn/adexchangebuyer_v1_2.directDeals.html
new file mode 100644
index 0000000..851baf0
--- /dev/null
+++ b/docs/dyn/adexchangebuyer_v1_2.directDeals.html
@@ -0,0 +1,136 @@
+<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="adexchangebuyer_v1_2.html">Ad Exchange Buyer API</a> . <a href="adexchangebuyer_v1_2.directDeals.html">directDeals</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(id)</a></code></p>
+<p class="firstline">Gets one direct deal by ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list()</a></code></p>
+<p class="firstline">Retrieves the authenticated user's list of direct deals.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(id)</code>
+  <pre>Gets one direct deal by ID.
+
+Args:
+  id: string, The direct deal id (required)
+
+Returns:
+  An object of the form:
+
+    { # The configuration data for an Ad Exchange direct deal.
+    "advertiser": "A String", # The name of the advertiser this deal is for.
+    "kind": "adexchangebuyer#directDeal", # Resource type.
+    "privateExchangeMinCpm": "A String", # The minimum price for this direct deal. In cpm micros of currency according to currency_code. If set, then this deal is eligible for the private exchange tier of buying (below fixed price priority, run as a second price auction).
+    "currencyCode": "A String", # The currency code that applies to the fixed_cpm value. If not set then assumed to be USD.
+    "fixedCpm": "A String", # The fixed price for this direct deal. In cpm micros of currency according to currency_code. If set, then this deal is eligible for the fixed price tier of buying (highest priority, pay exactly the configured fixed price).
+    "startTime": "A String", # Start time for when this deal becomes active. If not set then this deal is active immediately upon creation. In seconds since the epoch.
+    "endTime": "A String", # End time for when this deal stops being active. If not set then this deal is valid until manually disabled by the publisher. In seconds since the epoch.
+    "sellerNetwork": "A String", # The name of the publisher offering this direct deal.
+    "id": "A String", # Deal id.
+    "accountId": 42, # The account id of the buyer this deal is for.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list()</code>
+  <pre>Retrieves the authenticated user's list of direct deals.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    { # A direct deals feed lists Direct Deals the Ad Exchange buyer account has access to. This includes direct deals set up for the buyer account as well as its merged stream seats.
+    "kind": "adexchangebuyer#directDealsList", # Resource type.
+    "directDeals": [ # A list of direct deals relevant for your account.
+      { # The configuration data for an Ad Exchange direct deal.
+        "advertiser": "A String", # The name of the advertiser this deal is for.
+        "kind": "adexchangebuyer#directDeal", # Resource type.
+        "privateExchangeMinCpm": "A String", # The minimum price for this direct deal. In cpm micros of currency according to currency_code. If set, then this deal is eligible for the private exchange tier of buying (below fixed price priority, run as a second price auction).
+        "currencyCode": "A String", # The currency code that applies to the fixed_cpm value. If not set then assumed to be USD.
+        "fixedCpm": "A String", # The fixed price for this direct deal. In cpm micros of currency according to currency_code. If set, then this deal is eligible for the fixed price tier of buying (highest priority, pay exactly the configured fixed price).
+        "startTime": "A String", # Start time for when this deal becomes active. If not set then this deal is active immediately upon creation. In seconds since the epoch.
+        "endTime": "A String", # End time for when this deal stops being active. If not set then this deal is valid until manually disabled by the publisher. In seconds since the epoch.
+        "sellerNetwork": "A String", # The name of the publisher offering this direct deal.
+        "id": "A String", # Deal id.
+        "accountId": 42, # The account id of the buyer this deal is for.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangebuyer_v1_2.html b/docs/dyn/adexchangebuyer_v1_2.html
new file mode 100644
index 0000000..461963b
--- /dev/null
+++ b/docs/dyn/adexchangebuyer_v1_2.html
@@ -0,0 +1,97 @@
+<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="adexchangebuyer_v1_2.html">Ad Exchange Buyer API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adexchangebuyer_v1_2.accounts.html">accounts()</a></code>
+</p>
+<p class="firstline">Returns the accounts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adexchangebuyer_v1_2.creatives.html">creatives()</a></code>
+</p>
+<p class="firstline">Returns the creatives Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adexchangebuyer_v1_2.directDeals.html">directDeals()</a></code>
+</p>
+<p class="firstline">Returns the directDeals Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adexchangebuyer_v1_2.performanceReport.html">performanceReport()</a></code>
+</p>
+<p class="firstline">Returns the performanceReport Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangebuyer_v1_2.performanceReport.html b/docs/dyn/adexchangebuyer_v1_2.performanceReport.html
new file mode 100644
index 0000000..63f9f2d
--- /dev/null
+++ b/docs/dyn/adexchangebuyer_v1_2.performanceReport.html
@@ -0,0 +1,108 @@
+<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="adexchangebuyer_v1_2.html">Ad Exchange Buyer API</a> . <a href="adexchangebuyer_v1_2.performanceReport.html">performanceReport</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, endDateTime, startDateTime)</a></code></p>
+<p class="firstline">Retrieves the authenticated user's list of performance metrics.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(accountId, endDateTime, startDateTime)</code>
+  <pre>Retrieves the authenticated user's list of performance metrics.
+
+Args:
+  accountId: string, The account id to get the reports for. (required)
+  endDateTime: string, The end time for the reports. (required)
+  startDateTime: string, The start time for the reports. (required)
+
+Returns:
+  An object of the form:
+
+    { # The configuration data for an Ad Exchange performance report list. TODO(nathanbullock): need to add some release tests before releasing this. https://sites.google.com/a/google.com/adx-integration/Home/engineering/binary-releases/rtb-api-release https://cs.corp.google.com/#piper///depot/google3/contentads/adx/tools/rtb_api/adxrtb.py
+    "kind": "adexchangebuyer#performanceReportList", # Resource type.
+    "performance_report": [ # A list of performance reports relevant for the account.
+      {
+        "kind": "adexchangebuyer#performanceReport", # Resource type.
+        "timestamp": "A String", # Timestamp of the starting time of this performance data.
+        "region": "A String", # The trading location of this data.
+        "latency50thPercentile": 3.14, # The Nth percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.
+        "latency85thPercentile": 3.14,
+        "latency95thPercentile": 3.14,
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/admin_reports_v1.activities.html b/docs/dyn/admin_reports_v1.activities.html
new file mode 100644
index 0000000..eab3e8a
--- /dev/null
+++ b/docs/dyn/admin_reports_v1.activities.html
@@ -0,0 +1,155 @@
+<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="admin_reports_v1.html">Admin Reports API</a> . <a href="admin_reports_v1.activities.html">activities</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(userKey, applicationName, eventName=None, actorIpAddress=None, filters=None, maxResults=None, pageToken=None, startTime=None, endTime=None)</a></code></p>
+<p class="firstline">Retrieves a list of activities for a specific customer and application.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(userKey, applicationName, eventName=None, actorIpAddress=None, filters=None, maxResults=None, pageToken=None, startTime=None, endTime=None)</code>
+  <pre>Retrieves a list of activities for a specific customer and application.
+
+Args:
+  userKey: string, Represents the profile id or the user email for which the data should be filtered. When 'all' is specified as the userKey, it returns usageReports for all users. (required)
+  applicationName: string, Application name for which the events are to be retrieved. (required)
+  eventName: string, Name of the event being queried.
+  actorIpAddress: string, IP Address of host where the event was performed. Supports both IPv4 and IPv6 addresses.
+  filters: string, Event parameters in the form [parameter1 name][operator][parameter1 value],[parameter2 name][operator][parameter2 value],...
+  maxResults: integer, Number of activity records to be shown in each page.
+  pageToken: string, Token to specify next page.
+  startTime: string, Return events which occured at or after this time.
+  endTime: string, Return events which occured at or before this time.
+
+Returns:
+  An object of the form:
+
+    { # JSON template for a collection of activites.
+    "nextPageToken": "A String", # Token for retrieving the next page
+    "items": [ # Each record in read response.
+      { # JSON template for the activity resource.
+        "kind": "admin#reports#activity", # Kind of resource this is.
+        "ownerDomain": "A String", # Domain of source customer.
+        "actor": { # User doing the action.
+          "profileId": "A String", # Obfuscated user id of the user.
+          "email": "A String", # Email address of the user.
+          "key": "A String", # For OAuth 2LO API requests, consumer_key of the requestor.
+          "callerType": "A String", # User or OAuth 2LO request.
+        },
+        "id": { # Unique identifier for each activity record.
+          "applicationName": "A String", # Application name to which the event belongs.
+          "uniqueQualifier": "A String", # Unique qualifier if multiple events have the same time.
+          "customerId": "A String", # Obfuscated customer ID of the source customer.
+          "time": "A String", # Time of occurrence of the activity.
+        },
+        "ipAddress": "A String", # IP Address of the user doing the action.
+        "events": [ # Activity events.
+          {
+            "type": "A String", # Type of event.
+            "name": "A String", # Name of event.
+            "parameters": [ # Parameter value pairs for various applications.
+              {
+                "boolValue": True or False, # Boolean value of the parameter.
+                "intValue": "A String", # Integral value of the parameter.
+                "value": "A String", # String value of the parameter.
+                "name": "A String", # The name of the parameter.
+              },
+            ],
+          },
+        ],
+      },
+    ],
+    "kind": "admin#reports#activities", # Kind of list response this is.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/admin_reports_v1.customerUsageReports.html b/docs/dyn/admin_reports_v1.customerUsageReports.html
new file mode 100644
index 0000000..2b76bba
--- /dev/null
+++ b/docs/dyn/admin_reports_v1.customerUsageReports.html
@@ -0,0 +1,149 @@
+<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="admin_reports_v1.html">Admin Reports API</a> . <a href="admin_reports_v1.customerUsageReports.html">customerUsageReports</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(date, pageToken=None, parameters=None)</a></code></p>
+<p class="firstline">Retrieves a report which is a collection of properties / statistics for a specific customer.</p>
+<p class="toc_element">
+  <code><a href="#get_next">get_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(date, pageToken=None, parameters=None)</code>
+  <pre>Retrieves a report which is a collection of properties / statistics for a specific customer.
+
+Args:
+  date: string, Represents the date in yyyy-mm-dd format for which the data is to be fetched. (required)
+  pageToken: string, Token to specify next page.
+  parameters: string, Represents the application name, parameter name pairs to fetch in csv as app_name1:param_name1, app_name2:param_name2.
+
+Returns:
+  An object of the form:
+
+    { # JSON template for a collection of usage reports.
+    "nextPageToken": "A String", # Token for retrieving the next page
+    "kind": "admin#reports#usageReports", # The kind of object.
+    "usageReports": [ # Various application parameter records.
+      { # JSON template for a usage report.
+        "date": "A String", # The date to which the record belongs.
+        "kind": "admin#reports#usageReport", # The kind of object.
+        "parameters": [ # Parameter value pairs for various applications.
+          {
+            "stringValue": "A String", # String value of the parameter.
+            "boolValue": True or False, # Boolean value of the parameter.
+            "datetimeValue": "A String", # RFC 3339 formatted value of the parameter.
+            "intValue": "A String", # Integral value of the parameter.
+            "name": "A String", # The name of the parameter.
+          },
+        ],
+        "entity": { # Information about the type of the item.
+          "profileId": "A String", # Obfuscated user id for the record.
+          "userEmail": "A String", # user's email.
+          "type": "A String", # The type of item, can be a customer or user.
+          "customerId": "A String", # Obfuscated customer id for the record.
+        },
+      },
+    ],
+    "warnings": [ # Warnings if any.
+      {
+        "message": "A String", # Human readable message for the warning.
+        "code": "A String", # Machine readable code / warning type.
+        "data": [ # Key-Value pairs to give detailed information on the warning.
+          {
+            "value": "A String", # Value associated with a key-value pair to give detailed information on the warning.
+            "key": "A String", # Key associated with a key-value pair to give detailed information on the warning.
+          },
+        ],
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get_next">get_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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/admin_reports_v1.html b/docs/dyn/admin_reports_v1.html
new file mode 100644
index 0000000..0169d33
--- /dev/null
+++ b/docs/dyn/admin_reports_v1.html
@@ -0,0 +1,92 @@
+<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="admin_reports_v1.html">Admin Reports API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="admin_reports_v1.activities.html">activities()</a></code>
+</p>
+<p class="firstline">Returns the activities Resource.</p>
+
+<p class="toc_element">
+  <code><a href="admin_reports_v1.customerUsageReports.html">customerUsageReports()</a></code>
+</p>
+<p class="firstline">Returns the customerUsageReports Resource.</p>
+
+<p class="toc_element">
+  <code><a href="admin_reports_v1.userUsageReport.html">userUsageReport()</a></code>
+</p>
+<p class="firstline">Returns the userUsageReport Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/admin_reports_v1.userUsageReport.html b/docs/dyn/admin_reports_v1.userUsageReport.html
new file mode 100644
index 0000000..fdeaf57
--- /dev/null
+++ b/docs/dyn/admin_reports_v1.userUsageReport.html
@@ -0,0 +1,152 @@
+<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="admin_reports_v1.html">Admin Reports API</a> . <a href="admin_reports_v1.userUsageReport.html">userUsageReport</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(userKey, date, parameters=None, pageToken=None, filters=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves a report which is a collection of properties / statistics for a set of users.</p>
+<p class="toc_element">
+  <code><a href="#get_next">get_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(userKey, date, parameters=None, pageToken=None, filters=None, maxResults=None)</code>
+  <pre>Retrieves a report which is a collection of properties / statistics for a set of users.
+
+Args:
+  userKey: string, Represents the profile id or the user email for which the data should be filtered. (required)
+  date: string, Represents the date in yyyy-mm-dd format for which the data is to be fetched. (required)
+  parameters: string, Represents the application name, parameter name pairs to fetch in csv as app_name1:param_name1, app_name2:param_name2.
+  pageToken: string, Token to specify next page.
+  filters: string, Represents the set of filters including parameter operator value.
+  maxResults: integer, Maximum number of results to return. Maximum allowed is 1000
+
+Returns:
+  An object of the form:
+
+    { # JSON template for a collection of usage reports.
+    "nextPageToken": "A String", # Token for retrieving the next page
+    "kind": "admin#reports#usageReports", # The kind of object.
+    "usageReports": [ # Various application parameter records.
+      { # JSON template for a usage report.
+        "date": "A String", # The date to which the record belongs.
+        "kind": "admin#reports#usageReport", # The kind of object.
+        "parameters": [ # Parameter value pairs for various applications.
+          {
+            "stringValue": "A String", # String value of the parameter.
+            "boolValue": True or False, # Boolean value of the parameter.
+            "datetimeValue": "A String", # RFC 3339 formatted value of the parameter.
+            "intValue": "A String", # Integral value of the parameter.
+            "name": "A String", # The name of the parameter.
+          },
+        ],
+        "entity": { # Information about the type of the item.
+          "profileId": "A String", # Obfuscated user id for the record.
+          "userEmail": "A String", # user's email.
+          "type": "A String", # The type of item, can be a customer or user.
+          "customerId": "A String", # Obfuscated customer id for the record.
+        },
+      },
+    ],
+    "warnings": [ # Warnings if any.
+      {
+        "message": "A String", # Human readable message for the warning.
+        "code": "A String", # Machine readable code / warning type.
+        "data": [ # Key-Value pairs to give detailed information on the warning.
+          {
+            "value": "A String", # Value associated with a key-value pair to give detailed information on the warning.
+            "key": "A String", # Key associated with a key-value pair to give detailed information on the warning.
+          },
+        ],
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get_next">get_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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.adclients.html b/docs/dyn/adsense_v1_3.accounts.adclients.html
new file mode 100644
index 0000000..7cc13c1
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.accounts.adclients.html
@@ -0,0 +1,126 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.adclients.html">adclients</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all ad clients in the specified account.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(accountId, pageToken=None, maxResults=None)</code>
+  <pre>List all ad clients in the specified account.
+
+Args:
+  accountId: string, Account for which to list ad clients. (required)
+  pageToken: string, A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of ad clients to include in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Continuation token used to page through ad clients. To retrieve the next page of results, set the next request's "pageToken" value to this.
+    "items": [ # The ad clients returned in this list response.
+      {
+        "productCode": "A String", # This ad client's product code, which corresponds to the PRODUCT_CODE report dimension.
+        "kind": "adsense#adClient", # Kind of resource this is, in this case adsense#adClient.
+        "id": "A String", # Unique identifier of this ad client.
+        "arcOptIn": True or False, # Whether this ad client is opted in to ARC.
+        "supportsReporting": True or False, # Whether this ad client supports being reported on.
+      },
+    ],
+    "kind": "adsense#adClients", # Kind of list this is, in this case adsense#adClients.
+    "etag": "A String", # ETag of this response for caching purposes.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.adunits.customchannels.html b/docs/dyn/adsense_v1_3.accounts.adunits.customchannels.html
new file mode 100644
index 0000000..52c280a
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.accounts.adunits.customchannels.html
@@ -0,0 +1,133 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.adunits.html">adunits</a> . <a href="adsense_v1_3.accounts.adunits.customchannels.html">customchannels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, adClientId, adUnitId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all custom channels which the specified ad unit belongs to.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(accountId, adClientId, adUnitId, pageToken=None, maxResults=None)</code>
+  <pre>List all custom channels which the specified ad unit belongs to.
+
+Args:
+  accountId: string, Account to which the ad client belongs. (required)
+  adClientId: string, Ad client which contains the ad unit. (required)
+  adUnitId: string, Ad unit for which to list custom channels. (required)
+  pageToken: string, A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of custom channels to include in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Continuation token used to page through custom channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
+    "items": [ # The custom channels returned in this list response.
+      {
+        "kind": "adsense#customChannel", # Kind of resource this is, in this case adsense#customChannel.
+        "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
+        "targetingInfo": { # The targeting information of this custom channel, if activated.
+          "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
+          "adsAppearOn": "A String", # The name used to describe this channel externally.
+          "siteLanguage": "A String", # The language of the sites ads will be displayed on.
+          "description": "A String", # The external description of the channel.
+        },
+        "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+        "name": "A String", # Name of this custom channel.
+      },
+    ],
+    "kind": "adsense#customChannels", # Kind of list this is, in this case adsense#customChannels.
+    "etag": "A String", # ETag of this response for caching purposes.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.adunits.html b/docs/dyn/adsense_v1_3.accounts.adunits.html
new file mode 100644
index 0000000..4f752ff
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.accounts.adunits.html
@@ -0,0 +1,262 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.adunits.html">adunits</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsense_v1_3.accounts.adunits.customchannels.html">customchannels()</a></code>
+</p>
+<p class="firstline">Returns the customchannels Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#get">get(accountId, adClientId, adUnitId)</a></code></p>
+<p class="firstline">Gets the specified ad unit in the specified ad client for the specified account.</p>
+<p class="toc_element">
+  <code><a href="#getAdCode">getAdCode(accountId, adClientId, adUnitId)</a></code></p>
+<p class="firstline">Get ad code for the specified ad unit.</p>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, adClientId, pageToken=None, includeInactive=None, maxResults=None)</a></code></p>
+<p class="firstline">List all ad units in the specified ad client for the specified account.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(accountId, adClientId, adUnitId)</code>
+  <pre>Gets the specified ad unit in the specified ad client for the specified account.
+
+Args:
+  accountId: string, Account to which the ad client belongs. (required)
+  adClientId: string, Ad client for which to get the ad unit. (required)
+  adUnitId: string, Ad unit to retrieve. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "status": "A String", # Status of this ad unit. Possible values are:
+        # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
+        #
+        # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
+        #
+        # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
+    "kind": "adsense#adUnit", # Kind of resource this is, in this case adsense#adUnit.
+    "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
+    "name": "A String", # Name of this ad unit.
+    "feedAdsSettings": { # Settings specific to feed ads (AFF).
+      "minimumWordCount": 42, # The minimum length an entry should be in order to have attached ads.
+      "frequency": 42, # The frequency at which ads should appear in the feed (i.e. every N entries).
+      "adPosition": "A String", # The position of the ads relative to the feed entries.
+      "type": "A String", # The type of ads which should appear.
+    },
+    "savedStyleId": "A String", # ID of the saved ad style which holds this ad unit's style information.
+    "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
+      "type": "A String", # Type of this ad unit.
+      "backupOption": { # The backup option to be used in instances where no ad is available.
+        "color": "A String", # Color to use when type is set to COLOR.
+        "url": "A String", # URL to use when type is set to URL.
+        "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
+      },
+      "size": "A String", # Size of this ad unit.
+    },
+    "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+    "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
+      "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
+      "type": "A String", # Type of this ad unit.
+      "markupLanguage": "A String", # The markup language to use for this ad unit.
+      "size": "A String", # Size of this ad unit.
+    },
+    "customStyle": { # Custom style information specific to this ad unit.
+      "corners": "A String", # The style of the corners in the ad.
+      "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
+        "url": "A String", # The color of the ad url.
+        "text": "A String", # The color of the ad text.
+        "border": "A String", # The color of the ad border.
+        "background": "A String", # The color of the ad background.
+        "title": "A String", # The color of the ad title.
+      },
+      "font": { # The font which is included in the style.
+        "family": "A String", # The family of the font.
+        "size": "A String", # The size of the font.
+      },
+      "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getAdCode">getAdCode(accountId, adClientId, adUnitId)</code>
+  <pre>Get ad code for the specified ad unit.
+
+Args:
+  accountId: string, Account which contains the ad client. (required)
+  adClientId: string, Ad client with contains the ad unit. (required)
+  adUnitId: string, Ad unit to get the code for. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "adCode": "A String", # The ad code snippet.
+    "kind": "adsense#adCode", # Kind this is, in this case adsense#adCode.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(accountId, adClientId, pageToken=None, includeInactive=None, maxResults=None)</code>
+  <pre>List all ad units in the specified ad client for the specified account.
+
+Args:
+  accountId: string, Account to which the ad client belongs. (required)
+  adClientId: string, Ad client for which to list ad units. (required)
+  pageToken: string, A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
+  includeInactive: boolean, Whether to include inactive ad units. Default: true.
+  maxResults: integer, The maximum number of ad units to include in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
+    "items": [ # The ad units returned in this list response.
+      {
+        "status": "A String", # Status of this ad unit. Possible values are:
+            # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
+            #
+            # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
+            #
+            # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
+        "kind": "adsense#adUnit", # Kind of resource this is, in this case adsense#adUnit.
+        "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
+        "name": "A String", # Name of this ad unit.
+        "feedAdsSettings": { # Settings specific to feed ads (AFF).
+          "minimumWordCount": 42, # The minimum length an entry should be in order to have attached ads.
+          "frequency": 42, # The frequency at which ads should appear in the feed (i.e. every N entries).
+          "adPosition": "A String", # The position of the ads relative to the feed entries.
+          "type": "A String", # The type of ads which should appear.
+        },
+        "savedStyleId": "A String", # ID of the saved ad style which holds this ad unit's style information.
+        "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
+          "type": "A String", # Type of this ad unit.
+          "backupOption": { # The backup option to be used in instances where no ad is available.
+            "color": "A String", # Color to use when type is set to COLOR.
+            "url": "A String", # URL to use when type is set to URL.
+            "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
+          },
+          "size": "A String", # Size of this ad unit.
+        },
+        "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+        "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
+          "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
+          "type": "A String", # Type of this ad unit.
+          "markupLanguage": "A String", # The markup language to use for this ad unit.
+          "size": "A String", # Size of this ad unit.
+        },
+        "customStyle": { # Custom style information specific to this ad unit.
+          "corners": "A String", # The style of the corners in the ad.
+          "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
+            "url": "A String", # The color of the ad url.
+            "text": "A String", # The color of the ad text.
+            "border": "A String", # The color of the ad border.
+            "background": "A String", # The color of the ad background.
+            "title": "A String", # The color of the ad title.
+          },
+          "font": { # The font which is included in the style.
+            "family": "A String", # The family of the font.
+            "size": "A String", # The size of the font.
+          },
+          "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
+        },
+      },
+    ],
+    "kind": "adsense#adUnits", # Kind of list this is, in this case adsense#adUnits.
+    "etag": "A String", # ETag of this response for caching purposes.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.alerts.html b/docs/dyn/adsense_v1_3.accounts.alerts.html
new file mode 100644
index 0000000..35f095f
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.accounts.alerts.html
@@ -0,0 +1,106 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.alerts.html">alerts</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, locale=None)</a></code></p>
+<p class="firstline">List the alerts for the specified AdSense account.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(accountId, locale=None)</code>
+  <pre>List the alerts for the specified AdSense account.
+
+Args:
+  accountId: string, Account for which to retrieve the alerts. (required)
+  locale: string, The locale to use for translating alert messages. The account locale will be used if this is not supplied. The AdSense default (English) will be used if the supplied locale is invalid or unsupported.
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # The alerts returned in this list response.
+      {
+        "type": "A String", # Type of this alert. Possible values: SELF_HOLD, MIGRATED_TO_BILLING3, ADDRESS_PIN_VERIFICATION, PHONE_PIN_VERIFICATION, CORPORATE_ENTITY, GRAYLISTED_PUBLISHER, API_HOLD.
+        "kind": "adsense#alert", # Kind of resource this is, in this case adsense#alert.
+        "message": "A String", # The localized alert message.
+        "id": "A String", # Unique identifier of this alert. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+        "severity": "A String", # Severity of this alert. Possible values: INFO, WARNING, SEVERE.
+      },
+    ],
+    "kind": "adsense#alerts", # Kind of list this is, in this case adsense#alerts.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.customchannels.adunits.html b/docs/dyn/adsense_v1_3.accounts.customchannels.adunits.html
new file mode 100644
index 0000000..003d4c0
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.accounts.customchannels.adunits.html
@@ -0,0 +1,171 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.customchannels.html">customchannels</a> . <a href="adsense_v1_3.accounts.customchannels.adunits.html">adunits</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, adClientId, customChannelId, pageToken=None, includeInactive=None, maxResults=None)</a></code></p>
+<p class="firstline">List all ad units in the specified custom channel.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(accountId, adClientId, customChannelId, pageToken=None, includeInactive=None, maxResults=None)</code>
+  <pre>List all ad units in the specified custom channel.
+
+Args:
+  accountId: string, Account to which the ad client belongs. (required)
+  adClientId: string, Ad client which contains the custom channel. (required)
+  customChannelId: string, Custom channel for which to list ad units. (required)
+  pageToken: string, A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
+  includeInactive: boolean, Whether to include inactive ad units. Default: true.
+  maxResults: integer, The maximum number of ad units to include in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
+    "items": [ # The ad units returned in this list response.
+      {
+        "status": "A String", # Status of this ad unit. Possible values are:
+            # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
+            #
+            # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
+            #
+            # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
+        "kind": "adsense#adUnit", # Kind of resource this is, in this case adsense#adUnit.
+        "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
+        "name": "A String", # Name of this ad unit.
+        "feedAdsSettings": { # Settings specific to feed ads (AFF).
+          "minimumWordCount": 42, # The minimum length an entry should be in order to have attached ads.
+          "frequency": 42, # The frequency at which ads should appear in the feed (i.e. every N entries).
+          "adPosition": "A String", # The position of the ads relative to the feed entries.
+          "type": "A String", # The type of ads which should appear.
+        },
+        "savedStyleId": "A String", # ID of the saved ad style which holds this ad unit's style information.
+        "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
+          "type": "A String", # Type of this ad unit.
+          "backupOption": { # The backup option to be used in instances where no ad is available.
+            "color": "A String", # Color to use when type is set to COLOR.
+            "url": "A String", # URL to use when type is set to URL.
+            "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
+          },
+          "size": "A String", # Size of this ad unit.
+        },
+        "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+        "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
+          "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
+          "type": "A String", # Type of this ad unit.
+          "markupLanguage": "A String", # The markup language to use for this ad unit.
+          "size": "A String", # Size of this ad unit.
+        },
+        "customStyle": { # Custom style information specific to this ad unit.
+          "corners": "A String", # The style of the corners in the ad.
+          "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
+            "url": "A String", # The color of the ad url.
+            "text": "A String", # The color of the ad text.
+            "border": "A String", # The color of the ad border.
+            "background": "A String", # The color of the ad background.
+            "title": "A String", # The color of the ad title.
+          },
+          "font": { # The font which is included in the style.
+            "family": "A String", # The family of the font.
+            "size": "A String", # The size of the font.
+          },
+          "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
+        },
+      },
+    ],
+    "kind": "adsense#adUnits", # Kind of list this is, in this case adsense#adUnits.
+    "etag": "A String", # ETag of this response for caching purposes.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.customchannels.html b/docs/dyn/adsense_v1_3.accounts.customchannels.html
new file mode 100644
index 0000000..13de0c9
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.accounts.customchannels.html
@@ -0,0 +1,166 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.customchannels.html">customchannels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsense_v1_3.accounts.customchannels.adunits.html">adunits()</a></code>
+</p>
+<p class="firstline">Returns the adunits Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#get">get(accountId, adClientId, customChannelId)</a></code></p>
+<p class="firstline">Get the specified custom channel from the specified ad client for the specified account.</p>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, adClientId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all custom channels in the specified ad client for the specified account.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(accountId, adClientId, customChannelId)</code>
+  <pre>Get the specified custom channel from the specified ad client for the specified account.
+
+Args:
+  accountId: string, Account to which the ad client belongs. (required)
+  adClientId: string, Ad client which contains the custom channel. (required)
+  customChannelId: string, Custom channel to retrieve. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "adsense#customChannel", # Kind of resource this is, in this case adsense#customChannel.
+    "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
+    "targetingInfo": { # The targeting information of this custom channel, if activated.
+      "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
+      "adsAppearOn": "A String", # The name used to describe this channel externally.
+      "siteLanguage": "A String", # The language of the sites ads will be displayed on.
+      "description": "A String", # The external description of the channel.
+    },
+    "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+    "name": "A String", # Name of this custom channel.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(accountId, adClientId, pageToken=None, maxResults=None)</code>
+  <pre>List all custom channels in the specified ad client for the specified account.
+
+Args:
+  accountId: string, Account to which the ad client belongs. (required)
+  adClientId: string, Ad client for which to list custom channels. (required)
+  pageToken: string, A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of custom channels to include in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Continuation token used to page through custom channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
+    "items": [ # The custom channels returned in this list response.
+      {
+        "kind": "adsense#customChannel", # Kind of resource this is, in this case adsense#customChannel.
+        "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
+        "targetingInfo": { # The targeting information of this custom channel, if activated.
+          "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
+          "adsAppearOn": "A String", # The name used to describe this channel externally.
+          "siteLanguage": "A String", # The language of the sites ads will be displayed on.
+          "description": "A String", # The external description of the channel.
+        },
+        "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+        "name": "A String", # Name of this custom channel.
+      },
+    ],
+    "kind": "adsense#customChannels", # Kind of list this is, in this case adsense#customChannels.
+    "etag": "A String", # ETag of this response for caching purposes.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.html b/docs/dyn/adsense_v1_3.accounts.html
new file mode 100644
index 0000000..b1e2266
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.accounts.html
@@ -0,0 +1,187 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsense_v1_3.accounts.adclients.html">adclients()</a></code>
+</p>
+<p class="firstline">Returns the adclients Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_3.accounts.adunits.html">adunits()</a></code>
+</p>
+<p class="firstline">Returns the adunits Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_3.accounts.alerts.html">alerts()</a></code>
+</p>
+<p class="firstline">Returns the alerts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_3.accounts.customchannels.html">customchannels()</a></code>
+</p>
+<p class="firstline">Returns the customchannels Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_3.accounts.reports.html">reports()</a></code>
+</p>
+<p class="firstline">Returns the reports Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_3.accounts.savedadstyles.html">savedadstyles()</a></code>
+</p>
+<p class="firstline">Returns the savedadstyles Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_3.accounts.urlchannels.html">urlchannels()</a></code>
+</p>
+<p class="firstline">Returns the urlchannels Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#get">get(accountId, tree=None)</a></code></p>
+<p class="firstline">Get information about the selected AdSense account.</p>
+<p class="toc_element">
+  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all accounts available to this AdSense account.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(accountId, tree=None)</code>
+  <pre>Get information about the selected AdSense account.
+
+Args:
+  accountId: string, Account to get information about. (required)
+  tree: boolean, Whether the tree of sub accounts should be returned.
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "adsense#account", # Kind of resource this is, in this case adsense#account.
+    "premium": True or False, # Whether this account is premium.
+    "id": "A String", # Unique identifier of this account.
+    "subAccounts": [ # Sub accounts of the this account.
+      # Object with schema name: Account
+    ],
+    "name": "A String", # Name of this account.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
+  <pre>List all accounts available to this AdSense account.
+
+Args:
+  pageToken: string, A continuation token, used to page through accounts. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of accounts to include in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Continuation token used to page through accounts. To retrieve the next page of results, set the next request's "pageToken" value to this.
+    "items": [ # The accounts returned in this list response.
+      {
+        "kind": "adsense#account", # Kind of resource this is, in this case adsense#account.
+        "premium": True or False, # Whether this account is premium.
+        "id": "A String", # Unique identifier of this account.
+        "subAccounts": [ # Sub accounts of the this account.
+          # Object with schema name: Account
+        ],
+        "name": "A String", # Name of this account.
+      },
+    ],
+    "kind": "adsense#accounts", # Kind of list this is, in this case adsense#accounts.
+    "etag": "A String", # ETag of this response for caching purposes.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.reports.html b/docs/dyn/adsense_v1_3.accounts.reports.html
new file mode 100644
index 0000000..c75137a
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.accounts.reports.html
@@ -0,0 +1,161 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.reports.html">reports</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsense_v1_3.accounts.reports.saved.html">saved()</a></code>
+</p>
+<p class="firstline">Returns the saved Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#generate">generate(accountId, startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, useTimezoneReporting=None, sort=None, maxResults=None, filter=None, dimension=None)</a></code></p>
+<p class="firstline">Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.</p>
+<p class="toc_element">
+  <code><a href="#generate_media">generate_media(accountId, startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, useTimezoneReporting=None, sort=None, maxResults=None, filter=None, dimension=None)</a></code></p>
+<p class="firstline">Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="generate">generate(accountId, startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, useTimezoneReporting=None, sort=None, maxResults=None, filter=None, dimension=None)</code>
+  <pre>Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.
+
+Args:
+  accountId: string, Account upon which to report. (required)
+  startDate: string, Start of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
+  endDate: string, End of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
+  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
+  metric: string, Numeric columns to include in the report. (repeated)
+  currency: string, Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set.
+  startIndex: integer, Index of the first row of report data to return.
+  useTimezoneReporting: boolean, Whether the report should be generated in the AdSense account's local timezone. If false default PST/PDT timezone will be used.
+  sort: string, The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. (repeated)
+  maxResults: integer, The maximum number of rows of report data to return.
+  filter: string, Filters to be run on the report. (repeated)
+  dimension: string, Dimensions to base the report on. (repeated)
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "adsense#report", # Kind this is, in this case adsense#report.
+    "rows": [ # The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.
+      [
+        "A String",
+      ],
+    ],
+    "warnings": [ # Any warnings associated with generation of the report.
+      "A String",
+    ],
+    "totals": [ # The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
+      "A String",
+    ],
+    "headers": [ # The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.
+      {
+        "currency": "A String", # The currency of this column. Only present if the header type is METRIC_CURRENCY.
+        "type": "A String", # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY.
+        "name": "A String", # The name of the header.
+      },
+    ],
+    "totalMatchedRows": "A String", # The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.
+    "averages": [ # The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
+      "A String",
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="generate_media">generate_media(accountId, startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, useTimezoneReporting=None, sort=None, maxResults=None, filter=None, dimension=None)</code>
+  <pre>Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.
+
+Args:
+  accountId: string, Account upon which to report. (required)
+  startDate: string, Start of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
+  endDate: string, End of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
+  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
+  metric: string, Numeric columns to include in the report. (repeated)
+  currency: string, Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set.
+  startIndex: integer, Index of the first row of report data to return.
+  useTimezoneReporting: boolean, Whether the report should be generated in the AdSense account's local timezone. If false default PST/PDT timezone will be used.
+  sort: string, The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. (repeated)
+  maxResults: integer, The maximum number of rows of report data to return.
+  filter: string, Filters to be run on the report. (repeated)
+  dimension: string, Dimensions to base the report on. (repeated)
+
+Returns:
+  The media object as a string.
+
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.reports.saved.html b/docs/dyn/adsense_v1_3.accounts.reports.saved.html
new file mode 100644
index 0000000..971a2ad
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.accounts.reports.saved.html
@@ -0,0 +1,168 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.reports.html">reports</a> . <a href="adsense_v1_3.accounts.reports.saved.html">saved</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#generate">generate(accountId, savedReportId, locale=None, maxResults=None, startIndex=None)</a></code></p>
+<p class="firstline">Generate an AdSense report based on the saved report ID sent in the query parameters.</p>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all saved reports in the specified AdSense account.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="generate">generate(accountId, savedReportId, locale=None, maxResults=None, startIndex=None)</code>
+  <pre>Generate an AdSense report based on the saved report ID sent in the query parameters.
+
+Args:
+  accountId: string, Account to which the saved reports belong. (required)
+  savedReportId: string, The saved report to retrieve. (required)
+  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
+  maxResults: integer, The maximum number of rows of report data to return.
+  startIndex: integer, Index of the first row of report data to return.
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "adsense#report", # Kind this is, in this case adsense#report.
+    "rows": [ # The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.
+      [
+        "A String",
+      ],
+    ],
+    "warnings": [ # Any warnings associated with generation of the report.
+      "A String",
+    ],
+    "totals": [ # The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
+      "A String",
+    ],
+    "headers": [ # The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.
+      {
+        "currency": "A String", # The currency of this column. Only present if the header type is METRIC_CURRENCY.
+        "type": "A String", # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY.
+        "name": "A String", # The name of the header.
+      },
+    ],
+    "totalMatchedRows": "A String", # The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.
+    "averages": [ # The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
+      "A String",
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(accountId, pageToken=None, maxResults=None)</code>
+  <pre>List all saved reports in the specified AdSense account.
+
+Args:
+  accountId: string, Account to which the saved reports belong. (required)
+  pageToken: string, A continuation token, used to page through saved reports. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of saved reports to include in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Continuation token used to page through saved reports. To retrieve the next page of results, set the next request's "pageToken" value to this.
+    "items": [ # The saved reports returned in this list response.
+      {
+        "kind": "adsense#savedReport", # Kind of resource this is, in this case adsense#savedReport.
+        "id": "A String", # Unique identifier of this saved report.
+        "name": "A String", # This saved report's name.
+      },
+    ],
+    "kind": "adsense#savedReports", # Kind of list this is, in this case adsense#savedReports.
+    "etag": "A String", # ETag of this response for caching purposes.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.savedadstyles.html b/docs/dyn/adsense_v1_3.accounts.savedadstyles.html
new file mode 100644
index 0000000..12ccac8
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.accounts.savedadstyles.html
@@ -0,0 +1,175 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.savedadstyles.html">savedadstyles</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(accountId, savedAdStyleId)</a></code></p>
+<p class="firstline">List a specific saved ad style for the specified account.</p>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all saved ad styles in the specified account.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(accountId, savedAdStyleId)</code>
+  <pre>List a specific saved ad style for the specified account.
+
+Args:
+  accountId: string, Account for which to get the saved ad style. (required)
+  savedAdStyleId: string, Saved ad style to retrieve. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "adsense#savedAdStyle", # Kind of resource this is, in this case adsense#savedAdStyle.
+    "adStyle": { # The AdStyle itself.
+      "corners": "A String", # The style of the corners in the ad.
+      "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
+        "url": "A String", # The color of the ad url.
+        "text": "A String", # The color of the ad text.
+        "border": "A String", # The color of the ad border.
+        "background": "A String", # The color of the ad background.
+        "title": "A String", # The color of the ad title.
+      },
+      "font": { # The font which is included in the style.
+        "family": "A String", # The family of the font.
+        "size": "A String", # The size of the font.
+      },
+      "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
+    },
+    "name": "A String", # The user selected name of this SavedAdStyle.
+    "id": "A String", # Unique identifier of this saved ad style. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(accountId, pageToken=None, maxResults=None)</code>
+  <pre>List all saved ad styles in the specified account.
+
+Args:
+  accountId: string, Account for which to list saved ad styles. (required)
+  pageToken: string, A continuation token, used to page through saved ad styles. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of saved ad styles to include in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
+    "items": [ # The saved ad styles returned in this list response.
+      {
+        "kind": "adsense#savedAdStyle", # Kind of resource this is, in this case adsense#savedAdStyle.
+        "adStyle": { # The AdStyle itself.
+          "corners": "A String", # The style of the corners in the ad.
+          "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
+            "url": "A String", # The color of the ad url.
+            "text": "A String", # The color of the ad text.
+            "border": "A String", # The color of the ad border.
+            "background": "A String", # The color of the ad background.
+            "title": "A String", # The color of the ad title.
+          },
+          "font": { # The font which is included in the style.
+            "family": "A String", # The family of the font.
+            "size": "A String", # The size of the font.
+          },
+          "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
+        },
+        "name": "A String", # The user selected name of this SavedAdStyle.
+        "id": "A String", # Unique identifier of this saved ad style. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+      },
+    ],
+    "kind": "adsense#savedAdStyles", # Kind of list this is, in this case adsense#savedAdStyles.
+    "etag": "A String", # ETag of this response for caching purposes.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.accounts.urlchannels.html b/docs/dyn/adsense_v1_3.accounts.urlchannels.html
new file mode 100644
index 0000000..c024486
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.accounts.urlchannels.html
@@ -0,0 +1,125 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.accounts.html">accounts</a> . <a href="adsense_v1_3.accounts.urlchannels.html">urlchannels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, adClientId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all URL channels in the specified ad client for the specified account.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(accountId, adClientId, pageToken=None, maxResults=None)</code>
+  <pre>List all URL channels in the specified ad client for the specified account.
+
+Args:
+  accountId: string, Account to which the ad client belongs. (required)
+  adClientId: string, Ad client for which to list URL channels. (required)
+  pageToken: string, A continuation token, used to page through URL channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of URL channels to include in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Continuation token used to page through URL channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
+    "items": [ # The URL channels returned in this list response.
+      {
+        "kind": "adsense#urlChannel", # Kind of resource this is, in this case adsense#urlChannel.
+        "id": "A String", # Unique identifier of this URL channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+        "urlPattern": "A String", # URL Pattern of this URL channel. Does not include "http://" or "https://". Example: www.example.com/home
+      },
+    ],
+    "kind": "adsense#urlChannels", # Kind of list this is, in this case adsense#urlChannels.
+    "etag": "A String", # ETag of this response for caching purposes.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.adclients.html b/docs/dyn/adsense_v1_3.adclients.html
new file mode 100644
index 0000000..58a4541
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.adclients.html
@@ -0,0 +1,125 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.adclients.html">adclients</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all ad clients in this AdSense account.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
+  <pre>List all ad clients in this AdSense account.
+
+Args:
+  pageToken: string, A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of ad clients to include in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Continuation token used to page through ad clients. To retrieve the next page of results, set the next request's "pageToken" value to this.
+    "items": [ # The ad clients returned in this list response.
+      {
+        "productCode": "A String", # This ad client's product code, which corresponds to the PRODUCT_CODE report dimension.
+        "kind": "adsense#adClient", # Kind of resource this is, in this case adsense#adClient.
+        "id": "A String", # Unique identifier of this ad client.
+        "arcOptIn": True or False, # Whether this ad client is opted in to ARC.
+        "supportsReporting": True or False, # Whether this ad client supports being reported on.
+      },
+    ],
+    "kind": "adsense#adClients", # Kind of list this is, in this case adsense#adClients.
+    "etag": "A String", # ETag of this response for caching purposes.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.adunits.customchannels.html b/docs/dyn/adsense_v1_3.adunits.customchannels.html
new file mode 100644
index 0000000..0d4b429
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.adunits.customchannels.html
@@ -0,0 +1,132 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.adunits.html">adunits</a> . <a href="adsense_v1_3.adunits.customchannels.html">customchannels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(adClientId, adUnitId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all custom channels which the specified ad unit belongs to.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(adClientId, adUnitId, pageToken=None, maxResults=None)</code>
+  <pre>List all custom channels which the specified ad unit belongs to.
+
+Args:
+  adClientId: string, Ad client which contains the ad unit. (required)
+  adUnitId: string, Ad unit for which to list custom channels. (required)
+  pageToken: string, A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of custom channels to include in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Continuation token used to page through custom channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
+    "items": [ # The custom channels returned in this list response.
+      {
+        "kind": "adsense#customChannel", # Kind of resource this is, in this case adsense#customChannel.
+        "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
+        "targetingInfo": { # The targeting information of this custom channel, if activated.
+          "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
+          "adsAppearOn": "A String", # The name used to describe this channel externally.
+          "siteLanguage": "A String", # The language of the sites ads will be displayed on.
+          "description": "A String", # The external description of the channel.
+        },
+        "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+        "name": "A String", # Name of this custom channel.
+      },
+    ],
+    "kind": "adsense#customChannels", # Kind of list this is, in this case adsense#customChannels.
+    "etag": "A String", # ETag of this response for caching purposes.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.adunits.html b/docs/dyn/adsense_v1_3.adunits.html
new file mode 100644
index 0000000..c2db63a
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.adunits.html
@@ -0,0 +1,259 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.adunits.html">adunits</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsense_v1_3.adunits.customchannels.html">customchannels()</a></code>
+</p>
+<p class="firstline">Returns the customchannels Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#get">get(adClientId, adUnitId)</a></code></p>
+<p class="firstline">Gets the specified ad unit in the specified ad client.</p>
+<p class="toc_element">
+  <code><a href="#getAdCode">getAdCode(adClientId, adUnitId)</a></code></p>
+<p class="firstline">Get ad code for the specified ad unit.</p>
+<p class="toc_element">
+  <code><a href="#list">list(adClientId, pageToken=None, includeInactive=None, maxResults=None)</a></code></p>
+<p class="firstline">List all ad units in the specified ad client for this AdSense account.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(adClientId, adUnitId)</code>
+  <pre>Gets the specified ad unit in the specified ad client.
+
+Args:
+  adClientId: string, Ad client for which to get the ad unit. (required)
+  adUnitId: string, Ad unit to retrieve. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "status": "A String", # Status of this ad unit. Possible values are:
+        # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
+        #
+        # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
+        #
+        # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
+    "kind": "adsense#adUnit", # Kind of resource this is, in this case adsense#adUnit.
+    "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
+    "name": "A String", # Name of this ad unit.
+    "feedAdsSettings": { # Settings specific to feed ads (AFF).
+      "minimumWordCount": 42, # The minimum length an entry should be in order to have attached ads.
+      "frequency": 42, # The frequency at which ads should appear in the feed (i.e. every N entries).
+      "adPosition": "A String", # The position of the ads relative to the feed entries.
+      "type": "A String", # The type of ads which should appear.
+    },
+    "savedStyleId": "A String", # ID of the saved ad style which holds this ad unit's style information.
+    "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
+      "type": "A String", # Type of this ad unit.
+      "backupOption": { # The backup option to be used in instances where no ad is available.
+        "color": "A String", # Color to use when type is set to COLOR.
+        "url": "A String", # URL to use when type is set to URL.
+        "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
+      },
+      "size": "A String", # Size of this ad unit.
+    },
+    "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+    "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
+      "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
+      "type": "A String", # Type of this ad unit.
+      "markupLanguage": "A String", # The markup language to use for this ad unit.
+      "size": "A String", # Size of this ad unit.
+    },
+    "customStyle": { # Custom style information specific to this ad unit.
+      "corners": "A String", # The style of the corners in the ad.
+      "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
+        "url": "A String", # The color of the ad url.
+        "text": "A String", # The color of the ad text.
+        "border": "A String", # The color of the ad border.
+        "background": "A String", # The color of the ad background.
+        "title": "A String", # The color of the ad title.
+      },
+      "font": { # The font which is included in the style.
+        "family": "A String", # The family of the font.
+        "size": "A String", # The size of the font.
+      },
+      "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getAdCode">getAdCode(adClientId, adUnitId)</code>
+  <pre>Get ad code for the specified ad unit.
+
+Args:
+  adClientId: string, Ad client with contains the ad unit. (required)
+  adUnitId: string, Ad unit to get the code for. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "adCode": "A String", # The ad code snippet.
+    "kind": "adsense#adCode", # Kind this is, in this case adsense#adCode.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(adClientId, pageToken=None, includeInactive=None, maxResults=None)</code>
+  <pre>List all ad units in the specified ad client for this AdSense account.
+
+Args:
+  adClientId: string, Ad client for which to list ad units. (required)
+  pageToken: string, A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
+  includeInactive: boolean, Whether to include inactive ad units. Default: true.
+  maxResults: integer, The maximum number of ad units to include in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
+    "items": [ # The ad units returned in this list response.
+      {
+        "status": "A String", # Status of this ad unit. Possible values are:
+            # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
+            #
+            # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
+            #
+            # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
+        "kind": "adsense#adUnit", # Kind of resource this is, in this case adsense#adUnit.
+        "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
+        "name": "A String", # Name of this ad unit.
+        "feedAdsSettings": { # Settings specific to feed ads (AFF).
+          "minimumWordCount": 42, # The minimum length an entry should be in order to have attached ads.
+          "frequency": 42, # The frequency at which ads should appear in the feed (i.e. every N entries).
+          "adPosition": "A String", # The position of the ads relative to the feed entries.
+          "type": "A String", # The type of ads which should appear.
+        },
+        "savedStyleId": "A String", # ID of the saved ad style which holds this ad unit's style information.
+        "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
+          "type": "A String", # Type of this ad unit.
+          "backupOption": { # The backup option to be used in instances where no ad is available.
+            "color": "A String", # Color to use when type is set to COLOR.
+            "url": "A String", # URL to use when type is set to URL.
+            "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
+          },
+          "size": "A String", # Size of this ad unit.
+        },
+        "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+        "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
+          "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
+          "type": "A String", # Type of this ad unit.
+          "markupLanguage": "A String", # The markup language to use for this ad unit.
+          "size": "A String", # Size of this ad unit.
+        },
+        "customStyle": { # Custom style information specific to this ad unit.
+          "corners": "A String", # The style of the corners in the ad.
+          "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
+            "url": "A String", # The color of the ad url.
+            "text": "A String", # The color of the ad text.
+            "border": "A String", # The color of the ad border.
+            "background": "A String", # The color of the ad background.
+            "title": "A String", # The color of the ad title.
+          },
+          "font": { # The font which is included in the style.
+            "family": "A String", # The family of the font.
+            "size": "A String", # The size of the font.
+          },
+          "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
+        },
+      },
+    ],
+    "kind": "adsense#adUnits", # Kind of list this is, in this case adsense#adUnits.
+    "etag": "A String", # ETag of this response for caching purposes.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.alerts.html b/docs/dyn/adsense_v1_3.alerts.html
new file mode 100644
index 0000000..513bec1
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.alerts.html
@@ -0,0 +1,105 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.alerts.html">alerts</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(locale=None)</a></code></p>
+<p class="firstline">List the alerts for this AdSense account.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(locale=None)</code>
+  <pre>List the alerts for this AdSense account.
+
+Args:
+  locale: string, The locale to use for translating alert messages. The account locale will be used if this is not supplied. The AdSense default (English) will be used if the supplied locale is invalid or unsupported.
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # The alerts returned in this list response.
+      {
+        "type": "A String", # Type of this alert. Possible values: SELF_HOLD, MIGRATED_TO_BILLING3, ADDRESS_PIN_VERIFICATION, PHONE_PIN_VERIFICATION, CORPORATE_ENTITY, GRAYLISTED_PUBLISHER, API_HOLD.
+        "kind": "adsense#alert", # Kind of resource this is, in this case adsense#alert.
+        "message": "A String", # The localized alert message.
+        "id": "A String", # Unique identifier of this alert. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+        "severity": "A String", # Severity of this alert. Possible values: INFO, WARNING, SEVERE.
+      },
+    ],
+    "kind": "adsense#alerts", # Kind of list this is, in this case adsense#alerts.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.customchannels.adunits.html b/docs/dyn/adsense_v1_3.customchannels.adunits.html
new file mode 100644
index 0000000..d8e2955
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.customchannels.adunits.html
@@ -0,0 +1,170 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.customchannels.html">customchannels</a> . <a href="adsense_v1_3.customchannels.adunits.html">adunits</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(adClientId, customChannelId, pageToken=None, includeInactive=None, maxResults=None)</a></code></p>
+<p class="firstline">List all ad units in the specified custom channel.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(adClientId, customChannelId, pageToken=None, includeInactive=None, maxResults=None)</code>
+  <pre>List all ad units in the specified custom channel.
+
+Args:
+  adClientId: string, Ad client which contains the custom channel. (required)
+  customChannelId: string, Custom channel for which to list ad units. (required)
+  pageToken: string, A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
+  includeInactive: boolean, Whether to include inactive ad units. Default: true.
+  maxResults: integer, The maximum number of ad units to include in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
+    "items": [ # The ad units returned in this list response.
+      {
+        "status": "A String", # Status of this ad unit. Possible values are:
+            # NEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.
+            #
+            # ACTIVE: Indicates that there has been activity on this ad unit in the last seven days.
+            #
+            # INACTIVE: Indicates that there has been no activity on this ad unit in the last seven days.
+        "kind": "adsense#adUnit", # Kind of resource this is, in this case adsense#adUnit.
+        "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
+        "name": "A String", # Name of this ad unit.
+        "feedAdsSettings": { # Settings specific to feed ads (AFF).
+          "minimumWordCount": 42, # The minimum length an entry should be in order to have attached ads.
+          "frequency": 42, # The frequency at which ads should appear in the feed (i.e. every N entries).
+          "adPosition": "A String", # The position of the ads relative to the feed entries.
+          "type": "A String", # The type of ads which should appear.
+        },
+        "savedStyleId": "A String", # ID of the saved ad style which holds this ad unit's style information.
+        "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
+          "type": "A String", # Type of this ad unit.
+          "backupOption": { # The backup option to be used in instances where no ad is available.
+            "color": "A String", # Color to use when type is set to COLOR.
+            "url": "A String", # URL to use when type is set to URL.
+            "type": "A String", # Type of the backup option. Possible values are BLANK, COLOR and URL.
+          },
+          "size": "A String", # Size of this ad unit.
+        },
+        "id": "A String", # Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+        "mobileContentAdsSettings": { # Settings specific to WAP mobile content ads (AFMC).
+          "scriptingLanguage": "A String", # The scripting language to use for this ad unit.
+          "type": "A String", # Type of this ad unit.
+          "markupLanguage": "A String", # The markup language to use for this ad unit.
+          "size": "A String", # Size of this ad unit.
+        },
+        "customStyle": { # Custom style information specific to this ad unit.
+          "corners": "A String", # The style of the corners in the ad.
+          "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
+            "url": "A String", # The color of the ad url.
+            "text": "A String", # The color of the ad text.
+            "border": "A String", # The color of the ad border.
+            "background": "A String", # The color of the ad background.
+            "title": "A String", # The color of the ad title.
+          },
+          "font": { # The font which is included in the style.
+            "family": "A String", # The family of the font.
+            "size": "A String", # The size of the font.
+          },
+          "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
+        },
+      },
+    ],
+    "kind": "adsense#adUnits", # Kind of list this is, in this case adsense#adUnits.
+    "etag": "A String", # ETag of this response for caching purposes.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.customchannels.html b/docs/dyn/adsense_v1_3.customchannels.html
new file mode 100644
index 0000000..a27610d
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.customchannels.html
@@ -0,0 +1,164 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.customchannels.html">customchannels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsense_v1_3.customchannels.adunits.html">adunits()</a></code>
+</p>
+<p class="firstline">Returns the adunits Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#get">get(adClientId, customChannelId)</a></code></p>
+<p class="firstline">Get the specified custom channel from the specified ad client.</p>
+<p class="toc_element">
+  <code><a href="#list">list(adClientId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all custom channels in the specified ad client for this AdSense account.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(adClientId, customChannelId)</code>
+  <pre>Get the specified custom channel from the specified ad client.
+
+Args:
+  adClientId: string, Ad client which contains the custom channel. (required)
+  customChannelId: string, Custom channel to retrieve. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "adsense#customChannel", # Kind of resource this is, in this case adsense#customChannel.
+    "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
+    "targetingInfo": { # The targeting information of this custom channel, if activated.
+      "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
+      "adsAppearOn": "A String", # The name used to describe this channel externally.
+      "siteLanguage": "A String", # The language of the sites ads will be displayed on.
+      "description": "A String", # The external description of the channel.
+    },
+    "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+    "name": "A String", # Name of this custom channel.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(adClientId, pageToken=None, maxResults=None)</code>
+  <pre>List all custom channels in the specified ad client for this AdSense account.
+
+Args:
+  adClientId: string, Ad client for which to list custom channels. (required)
+  pageToken: string, A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of custom channels to include in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Continuation token used to page through custom channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
+    "items": [ # The custom channels returned in this list response.
+      {
+        "kind": "adsense#customChannel", # Kind of resource this is, in this case adsense#customChannel.
+        "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
+        "targetingInfo": { # The targeting information of this custom channel, if activated.
+          "location": "A String", # The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
+          "adsAppearOn": "A String", # The name used to describe this channel externally.
+          "siteLanguage": "A String", # The language of the sites ads will be displayed on.
+          "description": "A String", # The external description of the channel.
+        },
+        "id": "A String", # Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+        "name": "A String", # Name of this custom channel.
+      },
+    ],
+    "kind": "adsense#customChannels", # Kind of list this is, in this case adsense#customChannels.
+    "etag": "A String", # ETag of this response for caching purposes.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.html b/docs/dyn/adsense_v1_3.html
new file mode 100644
index 0000000..e6b9395
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.html
@@ -0,0 +1,122 @@
+<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="adsense_v1_3.html">AdSense Management API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsense_v1_3.accounts.html">accounts()</a></code>
+</p>
+<p class="firstline">Returns the accounts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_3.adclients.html">adclients()</a></code>
+</p>
+<p class="firstline">Returns the adclients Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_3.adunits.html">adunits()</a></code>
+</p>
+<p class="firstline">Returns the adunits Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_3.alerts.html">alerts()</a></code>
+</p>
+<p class="firstline">Returns the alerts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_3.customchannels.html">customchannels()</a></code>
+</p>
+<p class="firstline">Returns the customchannels Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_3.metadata.html">metadata()</a></code>
+</p>
+<p class="firstline">Returns the metadata Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_3.reports.html">reports()</a></code>
+</p>
+<p class="firstline">Returns the reports Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_3.savedadstyles.html">savedadstyles()</a></code>
+</p>
+<p class="firstline">Returns the savedadstyles Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_3.urlchannels.html">urlchannels()</a></code>
+</p>
+<p class="firstline">Returns the urlchannels Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.metadata.dimensions.html b/docs/dyn/adsense_v1_3.metadata.dimensions.html
new file mode 100644
index 0000000..e59c54f
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.metadata.dimensions.html
@@ -0,0 +1,116 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.metadata.html">metadata</a> . <a href="adsense_v1_3.metadata.dimensions.html">dimensions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list()</a></code></p>
+<p class="firstline">List the metadata for the dimensions available to this AdSense account.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list()</code>
+  <pre>List the metadata for the dimensions available to this AdSense account.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [
+      {
+        "requiredMetrics": [ # The names of the metrics which the dimension or metric this reporting metadata entry describes requires to also be present in order for the report to be valid. Omitting these will not cause an error or warning, but may result in data which cannot be correctly interpreted.
+          "A String",
+        ],
+        "kind": "adsense#reportingMetadataEntry", # Kind of resource this is, in this case adsense#reportingMetadataEntry.
+        "compatibleMetrics": [ # The names of the metrics the dimension or metric this reporting metadata entry describes is compatible with.
+          "A String",
+        ],
+        "requiredDimensions": [ # The names of the dimensions which the dimension or metric this reporting metadata entry describes requires to also be present in order for the report to be valid. Omitting these will not cause an error or warning, but may result in data which cannot be correctly interpreted.
+          "A String",
+        ],
+        "compatibleDimensions": [ # For metrics this is a list of dimension IDs which the metric is compatible with, for dimensions it is a list of compatibility groups the dimension belongs to.
+          "A String",
+        ],
+        "id": "A String", # Unique identifier of this reporting metadata entry, corresponding to the name of the appropriate dimension or metric.
+        "supportedProducts": [ # The codes of the projects supported by the dimension or metric this reporting metadata entry describes.
+          "A String",
+        ],
+      },
+    ],
+    "kind": "adsense#metadata", # Kind of list this is, in this case adsense#metadata.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.metadata.html b/docs/dyn/adsense_v1_3.metadata.html
new file mode 100644
index 0000000..c1aee39
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.metadata.html
@@ -0,0 +1,87 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.metadata.html">metadata</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsense_v1_3.metadata.dimensions.html">dimensions()</a></code>
+</p>
+<p class="firstline">Returns the dimensions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_3.metadata.metrics.html">metrics()</a></code>
+</p>
+<p class="firstline">Returns the metrics Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.metadata.metrics.html b/docs/dyn/adsense_v1_3.metadata.metrics.html
new file mode 100644
index 0000000..754349f
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.metadata.metrics.html
@@ -0,0 +1,116 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.metadata.html">metadata</a> . <a href="adsense_v1_3.metadata.metrics.html">metrics</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list()</a></code></p>
+<p class="firstline">List the metadata for the metrics available to this AdSense account.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list()</code>
+  <pre>List the metadata for the metrics available to this AdSense account.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [
+      {
+        "requiredMetrics": [ # The names of the metrics which the dimension or metric this reporting metadata entry describes requires to also be present in order for the report to be valid. Omitting these will not cause an error or warning, but may result in data which cannot be correctly interpreted.
+          "A String",
+        ],
+        "kind": "adsense#reportingMetadataEntry", # Kind of resource this is, in this case adsense#reportingMetadataEntry.
+        "compatibleMetrics": [ # The names of the metrics the dimension or metric this reporting metadata entry describes is compatible with.
+          "A String",
+        ],
+        "requiredDimensions": [ # The names of the dimensions which the dimension or metric this reporting metadata entry describes requires to also be present in order for the report to be valid. Omitting these will not cause an error or warning, but may result in data which cannot be correctly interpreted.
+          "A String",
+        ],
+        "compatibleDimensions": [ # For metrics this is a list of dimension IDs which the metric is compatible with, for dimensions it is a list of compatibility groups the dimension belongs to.
+          "A String",
+        ],
+        "id": "A String", # Unique identifier of this reporting metadata entry, corresponding to the name of the appropriate dimension or metric.
+        "supportedProducts": [ # The codes of the projects supported by the dimension or metric this reporting metadata entry describes.
+          "A String",
+        ],
+      },
+    ],
+    "kind": "adsense#metadata", # Kind of list this is, in this case adsense#metadata.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.reports.html b/docs/dyn/adsense_v1_3.reports.html
new file mode 100644
index 0000000..ff3f34a
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.reports.html
@@ -0,0 +1,161 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.reports.html">reports</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsense_v1_3.reports.saved.html">saved()</a></code>
+</p>
+<p class="firstline">Returns the saved Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#generate">generate(startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, accountId=None, useTimezoneReporting=None, sort=None, maxResults=None, filter=None, dimension=None)</a></code></p>
+<p class="firstline">Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.</p>
+<p class="toc_element">
+  <code><a href="#generate_media">generate_media(startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, accountId=None, useTimezoneReporting=None, sort=None, maxResults=None, filter=None, dimension=None)</a></code></p>
+<p class="firstline">Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="generate">generate(startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, accountId=None, useTimezoneReporting=None, sort=None, maxResults=None, filter=None, dimension=None)</code>
+  <pre>Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.
+
+Args:
+  startDate: string, Start of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
+  endDate: string, End of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
+  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
+  metric: string, Numeric columns to include in the report. (repeated)
+  currency: string, Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set.
+  startIndex: integer, Index of the first row of report data to return.
+  accountId: string, Accounts upon which to report. (repeated)
+  useTimezoneReporting: boolean, Whether the report should be generated in the AdSense account's local timezone. If false default PST/PDT timezone will be used.
+  sort: string, The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. (repeated)
+  maxResults: integer, The maximum number of rows of report data to return.
+  filter: string, Filters to be run on the report. (repeated)
+  dimension: string, Dimensions to base the report on. (repeated)
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "adsense#report", # Kind this is, in this case adsense#report.
+    "rows": [ # The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.
+      [
+        "A String",
+      ],
+    ],
+    "warnings": [ # Any warnings associated with generation of the report.
+      "A String",
+    ],
+    "totals": [ # The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
+      "A String",
+    ],
+    "headers": [ # The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.
+      {
+        "currency": "A String", # The currency of this column. Only present if the header type is METRIC_CURRENCY.
+        "type": "A String", # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY.
+        "name": "A String", # The name of the header.
+      },
+    ],
+    "totalMatchedRows": "A String", # The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.
+    "averages": [ # The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
+      "A String",
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="generate_media">generate_media(startDate, endDate, locale=None, metric=None, currency=None, startIndex=None, accountId=None, useTimezoneReporting=None, sort=None, maxResults=None, filter=None, dimension=None)</code>
+  <pre>Generate an AdSense report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter.
+
+Args:
+  startDate: string, Start of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
+  endDate: string, End of the date range to report on in "YYYY-MM-DD" format, inclusive. (required)
+  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
+  metric: string, Numeric columns to include in the report. (repeated)
+  currency: string, Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set.
+  startIndex: integer, Index of the first row of report data to return.
+  accountId: string, Accounts upon which to report. (repeated)
+  useTimezoneReporting: boolean, Whether the report should be generated in the AdSense account's local timezone. If false default PST/PDT timezone will be used.
+  sort: string, The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. (repeated)
+  maxResults: integer, The maximum number of rows of report data to return.
+  filter: string, Filters to be run on the report. (repeated)
+  dimension: string, Dimensions to base the report on. (repeated)
+
+Returns:
+  The media object as a string.
+
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.reports.saved.html b/docs/dyn/adsense_v1_3.reports.saved.html
new file mode 100644
index 0000000..e64429d
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.reports.saved.html
@@ -0,0 +1,166 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.reports.html">reports</a> . <a href="adsense_v1_3.reports.saved.html">saved</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#generate">generate(savedReportId, locale=None, maxResults=None, startIndex=None)</a></code></p>
+<p class="firstline">Generate an AdSense report based on the saved report ID sent in the query parameters.</p>
+<p class="toc_element">
+  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all saved reports in this AdSense account.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="generate">generate(savedReportId, locale=None, maxResults=None, startIndex=None)</code>
+  <pre>Generate an AdSense report based on the saved report ID sent in the query parameters.
+
+Args:
+  savedReportId: string, The saved report to retrieve. (required)
+  locale: string, Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified.
+  maxResults: integer, The maximum number of rows of report data to return.
+  startIndex: integer, Index of the first row of report data to return.
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "adsense#report", # Kind this is, in this case adsense#report.
+    "rows": [ # The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.
+      [
+        "A String",
+      ],
+    ],
+    "warnings": [ # Any warnings associated with generation of the report.
+      "A String",
+    ],
+    "totals": [ # The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
+      "A String",
+    ],
+    "headers": [ # The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.
+      {
+        "currency": "A String", # The currency of this column. Only present if the header type is METRIC_CURRENCY.
+        "type": "A String", # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY.
+        "name": "A String", # The name of the header.
+      },
+    ],
+    "totalMatchedRows": "A String", # The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.
+    "averages": [ # The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
+      "A String",
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
+  <pre>List all saved reports in this AdSense account.
+
+Args:
+  pageToken: string, A continuation token, used to page through saved reports. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of saved reports to include in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Continuation token used to page through saved reports. To retrieve the next page of results, set the next request's "pageToken" value to this.
+    "items": [ # The saved reports returned in this list response.
+      {
+        "kind": "adsense#savedReport", # Kind of resource this is, in this case adsense#savedReport.
+        "id": "A String", # Unique identifier of this saved report.
+        "name": "A String", # This saved report's name.
+      },
+    ],
+    "kind": "adsense#savedReports", # Kind of list this is, in this case adsense#savedReports.
+    "etag": "A String", # ETag of this response for caching purposes.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.savedadstyles.html b/docs/dyn/adsense_v1_3.savedadstyles.html
new file mode 100644
index 0000000..4a663e1
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.savedadstyles.html
@@ -0,0 +1,173 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.savedadstyles.html">savedadstyles</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(savedAdStyleId)</a></code></p>
+<p class="firstline">Get a specific saved ad style from the user's account.</p>
+<p class="toc_element">
+  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all saved ad styles in the user's account.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(savedAdStyleId)</code>
+  <pre>Get a specific saved ad style from the user's account.
+
+Args:
+  savedAdStyleId: string, Saved ad style to retrieve. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "adsense#savedAdStyle", # Kind of resource this is, in this case adsense#savedAdStyle.
+    "adStyle": { # The AdStyle itself.
+      "corners": "A String", # The style of the corners in the ad.
+      "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
+        "url": "A String", # The color of the ad url.
+        "text": "A String", # The color of the ad text.
+        "border": "A String", # The color of the ad border.
+        "background": "A String", # The color of the ad background.
+        "title": "A String", # The color of the ad title.
+      },
+      "font": { # The font which is included in the style.
+        "family": "A String", # The family of the font.
+        "size": "A String", # The size of the font.
+      },
+      "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
+    },
+    "name": "A String", # The user selected name of this SavedAdStyle.
+    "id": "A String", # Unique identifier of this saved ad style. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
+  <pre>List all saved ad styles in the user's account.
+
+Args:
+  pageToken: string, A continuation token, used to page through saved ad styles. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of saved ad styles to include in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Continuation token used to page through ad units. To retrieve the next page of results, set the next request's "pageToken" value to this.
+    "items": [ # The saved ad styles returned in this list response.
+      {
+        "kind": "adsense#savedAdStyle", # Kind of resource this is, in this case adsense#savedAdStyle.
+        "adStyle": { # The AdStyle itself.
+          "corners": "A String", # The style of the corners in the ad.
+          "colors": { # The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
+            "url": "A String", # The color of the ad url.
+            "text": "A String", # The color of the ad text.
+            "border": "A String", # The color of the ad border.
+            "background": "A String", # The color of the ad background.
+            "title": "A String", # The color of the ad title.
+          },
+          "font": { # The font which is included in the style.
+            "family": "A String", # The family of the font.
+            "size": "A String", # The size of the font.
+          },
+          "kind": "adsense#adStyle", # Kind this is, in this case adsense#adStyle.
+        },
+        "name": "A String", # The user selected name of this SavedAdStyle.
+        "id": "A String", # Unique identifier of this saved ad style. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+      },
+    ],
+    "kind": "adsense#savedAdStyles", # Kind of list this is, in this case adsense#savedAdStyles.
+    "etag": "A String", # ETag of this response for caching purposes.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_3.urlchannels.html b/docs/dyn/adsense_v1_3.urlchannels.html
new file mode 100644
index 0000000..b3bf582
--- /dev/null
+++ b/docs/dyn/adsense_v1_3.urlchannels.html
@@ -0,0 +1,124 @@
+<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="adsense_v1_3.html">AdSense Management API</a> . <a href="adsense_v1_3.urlchannels.html">urlchannels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(adClientId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all URL channels in the specified ad client for this AdSense account.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(adClientId, pageToken=None, maxResults=None)</code>
+  <pre>List all URL channels in the specified ad client for this AdSense account.
+
+Args:
+  adClientId: string, Ad client for which to list URL channels. (required)
+  pageToken: string, A continuation token, used to page through URL channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of URL channels to include in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Continuation token used to page through URL channels. To retrieve the next page of results, set the next request's "pageToken" value to this.
+    "items": [ # The URL channels returned in this list response.
+      {
+        "kind": "adsense#urlChannel", # Kind of resource this is, in this case adsense#urlChannel.
+        "id": "A String", # Unique identifier of this URL channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+        "urlPattern": "A String", # URL Pattern of this URL channel. Does not include "http://" or "https://". Example: www.example.com/home
+      },
+    ],
+    "kind": "adsense#urlChannels", # Kind of list this is, in this case adsense#urlChannels.
+    "etag": "A String", # ETag of this response for caching purposes.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.data.ga.html b/docs/dyn/analytics_v3.data.ga.html
index 3c74b87..0df711c 100644
--- a/docs/dyn/analytics_v3.data.ga.html
+++ b/docs/dyn/analytics_v3.data.ga.html
@@ -76,14 +76,14 @@
 <h2>Instance Methods</h2>
 <p class="toc_element">
   <code><a href="#get">get(ids, start_date, end_date, metrics, sort=None, dimensions=None, filters=None, max_results=None, segment=None, start_index=None)</a></code></p>
-<p class="firstline">Returns Analytics data for a profile.</p>
+<p class="firstline">Returns Analytics data for a view (profile).</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="get">get(ids, start_date, end_date, metrics, sort=None, dimensions=None, filters=None, max_results=None, segment=None, start_index=None)</code>
-  <pre>Returns Analytics data for a profile.
+  <pre>Returns Analytics data for a view (profile).
 
 Args:
-  ids: string, Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics profile ID. (required)
+  ids: string, Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. (required)
   start_date: string, Start date for fetching Analytics data. All requests should specify a start date formatted as YYYY-MM-DD. (required)
   end_date: string, End date for fetching Analytics data. All requests should specify an end date formatted as YYYY-MM-DD. (required)
   metrics: string, A comma-separated list of Analytics metrics. E.g., 'ga:visits,ga:pageviews'. At least one metric must be specified. (required)
@@ -97,7 +97,7 @@
 Returns:
   An object of the form:
 
-    { # Analytics data for a given profile.
+    { # Analytics data for a given view (profile).
     "kind": "analytics#gaData", # Resource type.
     "rows": [ # 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.
       [
@@ -129,13 +129,13 @@
       "end-date": "A String", # End date.
     },
     "previousLink": "A String", # Link to previous page for this Analytics data query.
-    "profileInfo": { # Information for the profile, for which the Analytics data was requested.
-      "webPropertyId": "A String", # Web Property ID to which this profile belongs.
-      "internalWebPropertyId": "A String", # Internal ID for the web property to which this profile belongs.
-      "tableId": "A String", # Table ID for profile.
-      "profileId": "A String", # Profile ID.
-      "profileName": "A String", # Profile name.
-      "accountId": "A String", # Account ID to which this profile belongs.
+    "profileInfo": { # Information for the view (profile), for which the Analytics data was requested.
+      "webPropertyId": "A String", # Web Property ID to which this view (profile) belongs.
+      "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
+      "tableId": "A String", # Table ID for view (profile).
+      "profileId": "A String", # View (Profile) ID.
+      "profileName": "A String", # View (Profile) name.
+      "accountId": "A String", # Account ID to which this view (profile) belongs.
     },
     "columnHeaders": [ # Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request.
       {
diff --git a/docs/dyn/analytics_v3.data.html b/docs/dyn/analytics_v3.data.html
index 909faec..7d24ed6 100644
--- a/docs/dyn/analytics_v3.data.html
+++ b/docs/dyn/analytics_v3.data.html
@@ -84,4 +84,9 @@
 </p>
 <p class="firstline">Returns the mcf Resource.</p>
 
+<p class="toc_element">
+  <code><a href="analytics_v3.data.realtime.html">realtime()</a></code>
+</p>
+<p class="firstline">Returns the realtime Resource.</p>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.data.mcf.html b/docs/dyn/analytics_v3.data.mcf.html
index d6611eb..176df06 100644
--- a/docs/dyn/analytics_v3.data.mcf.html
+++ b/docs/dyn/analytics_v3.data.mcf.html
@@ -76,14 +76,14 @@
 <h2>Instance Methods</h2>
 <p class="toc_element">
   <code><a href="#get">get(ids, start_date, end_date, metrics, sort=None, dimensions=None, filters=None, max_results=None, start_index=None)</a></code></p>
-<p class="firstline">Returns Analytics Multi-Channel Funnels data for a profile.</p>
+<p class="firstline">Returns Analytics Multi-Channel Funnels data for a view (profile).</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="get">get(ids, start_date, end_date, metrics, sort=None, dimensions=None, filters=None, max_results=None, start_index=None)</code>
-  <pre>Returns Analytics Multi-Channel Funnels data for a profile.
+  <pre>Returns Analytics Multi-Channel Funnels data for a view (profile).
 
 Args:
-  ids: string, Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics profile ID. (required)
+  ids: string, Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. (required)
   start_date: string, Start date for fetching Analytics data. All requests should specify a start date formatted as YYYY-MM-DD. (required)
   end_date: string, End date for fetching Analytics data. All requests should specify an end date formatted as YYYY-MM-DD. (required)
   metrics: string, A comma-separated list of Multi-Channel Funnels metrics. E.g., 'mcf:totalConversions,mcf:totalConversionValue'. At least one metric must be specified. (required)
@@ -96,7 +96,7 @@
 Returns:
   An object of the form:
 
-    { # Multi-Channel Funnels data for a given profile.
+    { # Multi-Channel Funnels data for a given view (profile).
     "kind": "analytics#mcfData", # Resource type.
     "rows": [ # 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.
       [
@@ -136,13 +136,13 @@
       "end-date": "A String", # End date.
     },
     "previousLink": "A String", # Link to previous page for this Analytics data query.
-    "profileInfo": { # Information for the profile, for which the Analytics data was requested.
-      "webPropertyId": "A String", # Web Property ID to which this profile belongs.
-      "internalWebPropertyId": "A String", # Internal ID for the web property to which this profile belongs.
-      "tableId": "A String", # Table ID for profile.
-      "profileId": "A String", # Profile ID.
-      "profileName": "A String", # Profile name.
-      "accountId": "A String", # Account ID to which this profile belongs.
+    "profileInfo": { # Information for the view (profile), for which the Analytics data was requested.
+      "webPropertyId": "A String", # Web Property ID to which this view (profile) belongs.
+      "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
+      "tableId": "A String", # Table ID for view (profile).
+      "profileId": "A String", # View (Profile) ID.
+      "profileName": "A String", # View (Profile) name.
+      "accountId": "A String", # Account ID to which this view (profile) belongs.
     },
     "columnHeaders": [ # Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request.
       {
diff --git a/docs/dyn/analytics_v3.data.realtime.html b/docs/dyn/analytics_v3.data.realtime.html
new file mode 100644
index 0000000..edaf5e2
--- /dev/null
+++ b/docs/dyn/analytics_v3.data.realtime.html
@@ -0,0 +1,139 @@
+<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="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.data.html">data</a> . <a href="analytics_v3.data.realtime.html">realtime</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(ids, metrics, sort=None, dimensions=None, filters=None, max_results=None)</a></code></p>
+<p class="firstline">Returns real-time data for a view (profile).</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(ids, metrics, sort=None, dimensions=None, filters=None, max_results=None)</code>
+  <pre>Returns real-time data for a view (profile).
+
+Args:
+  ids: string, Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. (required)
+  metrics: string, A comma-separated list of Analytics metrics. E.g., 'ga:visits,ga:pageviews'. At least one metric must be specified. (required)
+  sort: string, A comma-separated list of dimensions or metrics that determine the sort order for real-time data.
+  dimensions: string, A comma-separated list of real-time dimensions. E.g., 'ga:medium,ga:city'.
+  filters: string, A comma-separated list of dimension or metric filters to be applied to real-time data.
+  max_results: integer, The maximum number of entries to include in this feed.
+
+Returns:
+  An object of the form:
+
+    { # Real time data for a given view (profile).
+    "kind": "analytics#realtimeData", # Resource type.
+    "rows": [ # 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.
+      [
+        "A String",
+      ],
+    ],
+    "totalResults": 42, # The total number of rows for the query, regardless of the number of rows in the response.
+    "totalsForAllResults": { # 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.
+      "a_key": "A String", # 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.
+    },
+    "id": "A String", # Unique ID for this data response.
+    "query": { # Real time data request query parameters.
+      "max-results": 42, # Maximum results per page.
+      "sort": [ # List of dimensions or metrics based on which real time data is sorted.
+        "A String",
+      ],
+      "dimensions": "A String", # List of real time dimensions.
+      "ids": "A String", # Unique table ID.
+      "metrics": [ # List of real time metrics.
+        "A String",
+      ],
+      "filters": "A String", # Comma-separated list of dimension or metric filters.
+    },
+    "profileInfo": { # Information for the view (profile), for which the real time data was requested.
+      "webPropertyId": "A String", # Web Property ID to which this view (profile) belongs.
+      "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
+      "tableId": "A String", # Table ID for view (profile).
+      "profileId": "A String", # View (Profile) ID.
+      "profileName": "A String", # View (Profile) name.
+      "accountId": "A String", # Account ID to which this view (profile) belongs.
+    },
+    "columnHeaders": [ # Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request.
+      {
+        "dataType": "A String", # 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": "A String", # Column Type. Either DIMENSION or METRIC.
+        "name": "A String", # Column name.
+      },
+    ],
+    "selfLink": "A String", # Link to this page.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.customDataSources.html b/docs/dyn/analytics_v3.management.customDataSources.html
index c5084d2..51b15c0 100644
--- a/docs/dyn/analytics_v3.management.customDataSources.html
+++ b/docs/dyn/analytics_v3.management.customDataSources.html
@@ -99,20 +99,21 @@
         "kind": "analytics#customDataSource", # Resource type for Analytics custom data source.
         "description": "A String", # Description of custom data source.
         "created": "A String", # Time this custom data source was created.
-        "profilesLinked": [
+        "profilesLinked": [ # IDs of views (profiles) linked to the custom data source.
           "A String",
         ],
         "updated": "A String", # Time this custom data source was last modified.
         "name": "A String", # Name of this custom data source.
-        "childLink": { # Child link for this custom data source. Points to the list of daily uploads for this custom data source.
-          "href": "A String", # Link to the list of daily uploads for this custom data source.
-          "type": "analytics#dailyUploads", # Value is "analytics#dailyUploads".
+        "childLink": {
+          "href": "A String", # Link to the list of daily uploads for this custom data source. Link to the list of uploads for this custom data source.
+          "type": "A String", # Value is "analytics#dailyUploads". Value is "analytics#uploads".
         },
         "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this custom data source belongs.
         "parentLink": { # Parent link for this custom data source. Points to the web property to which this custom data source belongs.
           "href": "A String", # Link to the web property to which this custom data source belongs.
           "type": "analytics#webproperty", # Value is "analytics#webproperty".
         },
+        "type": "A String", # Type of the custom data source.
         "id": "A String", # Custom data source ID.
         "selfLink": "A String", # Link for this Analytics custom data source.
         "accountId": "A String", # Account ID to which this custom data source belongs.
diff --git a/docs/dyn/analytics_v3.management.dailyUploads.html b/docs/dyn/analytics_v3.management.dailyUploads.html
index cf3bb11..80428b9 100644
--- a/docs/dyn/analytics_v3.management.dailyUploads.html
+++ b/docs/dyn/analytics_v3.management.dailyUploads.html
@@ -122,8 +122,8 @@
       { # Metadata for daily upload entity.
         "recentChanges": [ # Change log for last 10 changes in chronological order.
           {
-            "change": "A String",
-            "time": "A String",
+            "change": "A String", # The type of change: APPEND, RESET, or DELETE.
+            "time": "A String", # The time when the change occurred.
           },
         ],
         "kind": "analytics#dailyUpload", # Resource type for Analytics daily upload.
diff --git a/docs/dyn/analytics_v3.management.experiments.html b/docs/dyn/analytics_v3.management.experiments.html
new file mode 100644
index 0000000..0c01462
--- /dev/null
+++ b/docs/dyn/analytics_v3.management.experiments.html
@@ -0,0 +1,550 @@
+<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="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.management.html">management</a> . <a href="analytics_v3.management.experiments.html">experiments</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(accountId, webPropertyId, profileId, experimentId)</a></code></p>
+<p class="firstline">Delete an experiment.</p>
+<p class="toc_element">
+  <code><a href="#get">get(accountId, webPropertyId, profileId, experimentId)</a></code></p>
+<p class="firstline">Returns an experiment to which the user has access.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(accountId, webPropertyId, profileId, body)</a></code></p>
+<p class="firstline">Create a new experiment.</p>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, webPropertyId, profileId, max_results=None, start_index=None)</a></code></p>
+<p class="firstline">Lists experiments to which the user has access.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(accountId, webPropertyId, profileId, experimentId, body)</a></code></p>
+<p class="firstline">Update an existing experiment. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(accountId, webPropertyId, profileId, experimentId, body)</a></code></p>
+<p class="firstline">Update an existing experiment.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(accountId, webPropertyId, profileId, experimentId)</code>
+  <pre>Delete an experiment.
+
+Args:
+  accountId: string, Account ID to which the experiment belongs (required)
+  webPropertyId: string, Web property ID to which the experiment belongs (required)
+  profileId: string, View (Profile) ID to which the experiment belongs (required)
+  experimentId: string, ID of the experiment to delete (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(accountId, webPropertyId, profileId, experimentId)</code>
+  <pre>Returns an experiment to which the user has access.
+
+Args:
+  accountId: string, Account ID to retrieve the experiment for. (required)
+  webPropertyId: string, Web property ID to retrieve the experiment for. (required)
+  profileId: string, View (Profile) ID to retrieve the experiment for. (required)
+  experimentId: string, Experiment ID to retrieve the experiment for. (required)
+
+Returns:
+  An object of the form:
+
+    { # JSON template for Analytics experiment resource.
+      "trafficCoverage": 3.14, # A floating-point number between 0 and 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.
+      "webPropertyId": "A String", # Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only.
+      "optimizationType": "A String", # 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".
+      "objectiveMetric": "A String", # The metric that the experiment is optimizing. Valid values: "ga:goal(n)Completions", "ga:bounces", "ga:pageviews", "ga:timeOnSite", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
+      "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
+      "accountId": "A String", # Account ID to which this experiment belongs. This field is read-only.
+      "snippet": "A String", # The snippet of code to include on the control page(s). This field is read-only.
+      "editableInGaUi": "", # If true, the end user will be able to edit the experiment via the Google Analytics user interface.
+      "rewriteVariationUrlsAsOriginal": True or False, # 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.
+      "servingFramework": "", # The framework used to serve the experiment variations and evaluate the results. One of:
+          # - REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results.
+          # - API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation.
+          # - 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.
+      "status": "A String", # 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.
+      "updated": "A String", # Time the experiment was last modified. This field is read-only.
+      "description": "A String", # Notes about this experiment.
+      "reasonExperimentEnded": "A String", # 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.
+      "internalWebPropertyId": "A String", # Internal ID for the web property to which this experiment belongs. This field is read-only.
+      "winnerConfidenceLevel": 3.14, # A floating-point number between 0 and 1. Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.
+      "startTime": "A String", # 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.
+      "winnerFound": True or False, # Boolean specifying whether a winner has been found for this experiment. This field is read-only.
+      "kind": "analytics#experiment", # Resource type for an Analytics experiment. This field is read-only.
+      "name": "A String", # Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment.
+      "created": "A String", # Time the experiment was created. This field is read-only.
+      "variations": [ # 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.
+        {
+          "status": "A String", # 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.
+          "url": "A String", # The URL of the variation. This field may not be changed for an experiment whose status is RUNNING or ENDED.
+          "won": True or False, # True if the experiment has ended and this variation performed (statistically) significantly better than the original. This field is read-only.
+          "name": "A String", # 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.
+          "weight": 3.14, # Weight that this variation should receive. Only present if the experiment is running. This field is read-only.
+        },
+      ],
+      "minimumExperimentLengthInDays": 42, # 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.
+      "profileId": "A String", # View (Profile) ID to which this experiment belongs. This field is read-only.
+      "parentLink": { # Parent link for an experiment. Points to the view (profile) to which this experiment belongs.
+        "href": "A String", # Link to the view (profile) to which this experiment belongs. This field is read-only.
+        "type": "analytics#profile", # Value is "analytics#profile". This field is read-only.
+      },
+      "endTime": "A String", # 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.
+      "selfLink": "A String", # Link for this experiment. This field is read-only.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(accountId, webPropertyId, profileId, body)</code>
+  <pre>Create a new experiment.
+
+Args:
+  accountId: string, Account ID to create the experiment for. (required)
+  webPropertyId: string, Web property ID to create the experiment for. (required)
+  profileId: string, View (Profile) ID to create the experiment for. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for Analytics experiment resource.
+    "trafficCoverage": 3.14, # A floating-point number between 0 and 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.
+    "webPropertyId": "A String", # Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only.
+    "optimizationType": "A String", # 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".
+    "objectiveMetric": "A String", # The metric that the experiment is optimizing. Valid values: "ga:goal(n)Completions", "ga:bounces", "ga:pageviews", "ga:timeOnSite", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
+    "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
+    "accountId": "A String", # Account ID to which this experiment belongs. This field is read-only.
+    "snippet": "A String", # The snippet of code to include on the control page(s). This field is read-only.
+    "editableInGaUi": "", # If true, the end user will be able to edit the experiment via the Google Analytics user interface.
+    "rewriteVariationUrlsAsOriginal": True or False, # 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.
+    "servingFramework": "", # The framework used to serve the experiment variations and evaluate the results. One of:
+        # - REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results.
+        # - API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation.
+        # - 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.
+    "status": "A String", # 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.
+    "updated": "A String", # Time the experiment was last modified. This field is read-only.
+    "description": "A String", # Notes about this experiment.
+    "reasonExperimentEnded": "A String", # 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.
+    "internalWebPropertyId": "A String", # Internal ID for the web property to which this experiment belongs. This field is read-only.
+    "winnerConfidenceLevel": 3.14, # A floating-point number between 0 and 1. Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.
+    "startTime": "A String", # 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.
+    "winnerFound": True or False, # Boolean specifying whether a winner has been found for this experiment. This field is read-only.
+    "kind": "analytics#experiment", # Resource type for an Analytics experiment. This field is read-only.
+    "name": "A String", # Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment.
+    "created": "A String", # Time the experiment was created. This field is read-only.
+    "variations": [ # 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.
+      {
+        "status": "A String", # 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.
+        "url": "A String", # The URL of the variation. This field may not be changed for an experiment whose status is RUNNING or ENDED.
+        "won": True or False, # True if the experiment has ended and this variation performed (statistically) significantly better than the original. This field is read-only.
+        "name": "A String", # 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.
+        "weight": 3.14, # Weight that this variation should receive. Only present if the experiment is running. This field is read-only.
+      },
+    ],
+    "minimumExperimentLengthInDays": 42, # 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.
+    "profileId": "A String", # View (Profile) ID to which this experiment belongs. This field is read-only.
+    "parentLink": { # Parent link for an experiment. Points to the view (profile) to which this experiment belongs.
+      "href": "A String", # Link to the view (profile) to which this experiment belongs. This field is read-only.
+      "type": "analytics#profile", # Value is "analytics#profile". This field is read-only.
+    },
+    "endTime": "A String", # 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.
+    "selfLink": "A String", # Link for this experiment. This field is read-only.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for Analytics experiment resource.
+      "trafficCoverage": 3.14, # A floating-point number between 0 and 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.
+      "webPropertyId": "A String", # Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only.
+      "optimizationType": "A String", # 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".
+      "objectiveMetric": "A String", # The metric that the experiment is optimizing. Valid values: "ga:goal(n)Completions", "ga:bounces", "ga:pageviews", "ga:timeOnSite", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
+      "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
+      "accountId": "A String", # Account ID to which this experiment belongs. This field is read-only.
+      "snippet": "A String", # The snippet of code to include on the control page(s). This field is read-only.
+      "editableInGaUi": "", # If true, the end user will be able to edit the experiment via the Google Analytics user interface.
+      "rewriteVariationUrlsAsOriginal": True or False, # 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.
+      "servingFramework": "", # The framework used to serve the experiment variations and evaluate the results. One of:
+          # - REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results.
+          # - API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation.
+          # - 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.
+      "status": "A String", # 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.
+      "updated": "A String", # Time the experiment was last modified. This field is read-only.
+      "description": "A String", # Notes about this experiment.
+      "reasonExperimentEnded": "A String", # 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.
+      "internalWebPropertyId": "A String", # Internal ID for the web property to which this experiment belongs. This field is read-only.
+      "winnerConfidenceLevel": 3.14, # A floating-point number between 0 and 1. Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.
+      "startTime": "A String", # 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.
+      "winnerFound": True or False, # Boolean specifying whether a winner has been found for this experiment. This field is read-only.
+      "kind": "analytics#experiment", # Resource type for an Analytics experiment. This field is read-only.
+      "name": "A String", # Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment.
+      "created": "A String", # Time the experiment was created. This field is read-only.
+      "variations": [ # 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.
+        {
+          "status": "A String", # 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.
+          "url": "A String", # The URL of the variation. This field may not be changed for an experiment whose status is RUNNING or ENDED.
+          "won": True or False, # True if the experiment has ended and this variation performed (statistically) significantly better than the original. This field is read-only.
+          "name": "A String", # 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.
+          "weight": 3.14, # Weight that this variation should receive. Only present if the experiment is running. This field is read-only.
+        },
+      ],
+      "minimumExperimentLengthInDays": 42, # 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.
+      "profileId": "A String", # View (Profile) ID to which this experiment belongs. This field is read-only.
+      "parentLink": { # Parent link for an experiment. Points to the view (profile) to which this experiment belongs.
+        "href": "A String", # Link to the view (profile) to which this experiment belongs. This field is read-only.
+        "type": "analytics#profile", # Value is "analytics#profile". This field is read-only.
+      },
+      "endTime": "A String", # 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.
+      "selfLink": "A String", # Link for this experiment. This field is read-only.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(accountId, webPropertyId, profileId, max_results=None, start_index=None)</code>
+  <pre>Lists experiments to which the user has access.
+
+Args:
+  accountId: string, Account ID to retrieve experiments for. (required)
+  webPropertyId: string, Web property ID to retrieve experiments for. (required)
+  profileId: string, View (Profile) ID to retrieve experiments for. (required)
+  max_results: integer, The maximum number of experiments to include in this response.
+  start_index: integer, An index of the first experiment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
+
+Returns:
+  An object of the form:
+
+    { # 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.
+    "username": "A String", # Email ID of the authenticated user
+    "kind": "analytics#experiments", # Collection type.
+    "items": [ # A list of experiments.
+      { # JSON template for Analytics experiment resource.
+          "trafficCoverage": 3.14, # A floating-point number between 0 and 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.
+          "webPropertyId": "A String", # Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only.
+          "optimizationType": "A String", # 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".
+          "objectiveMetric": "A String", # The metric that the experiment is optimizing. Valid values: "ga:goal(n)Completions", "ga:bounces", "ga:pageviews", "ga:timeOnSite", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
+          "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
+          "accountId": "A String", # Account ID to which this experiment belongs. This field is read-only.
+          "snippet": "A String", # The snippet of code to include on the control page(s). This field is read-only.
+          "editableInGaUi": "", # If true, the end user will be able to edit the experiment via the Google Analytics user interface.
+          "rewriteVariationUrlsAsOriginal": True or False, # 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.
+          "servingFramework": "", # The framework used to serve the experiment variations and evaluate the results. One of:
+              # - REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results.
+              # - API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation.
+              # - 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.
+          "status": "A String", # 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.
+          "updated": "A String", # Time the experiment was last modified. This field is read-only.
+          "description": "A String", # Notes about this experiment.
+          "reasonExperimentEnded": "A String", # 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.
+          "internalWebPropertyId": "A String", # Internal ID for the web property to which this experiment belongs. This field is read-only.
+          "winnerConfidenceLevel": 3.14, # A floating-point number between 0 and 1. Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.
+          "startTime": "A String", # 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.
+          "winnerFound": True or False, # Boolean specifying whether a winner has been found for this experiment. This field is read-only.
+          "kind": "analytics#experiment", # Resource type for an Analytics experiment. This field is read-only.
+          "name": "A String", # Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment.
+          "created": "A String", # Time the experiment was created. This field is read-only.
+          "variations": [ # 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.
+            {
+              "status": "A String", # 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.
+              "url": "A String", # The URL of the variation. This field may not be changed for an experiment whose status is RUNNING or ENDED.
+              "won": True or False, # True if the experiment has ended and this variation performed (statistically) significantly better than the original. This field is read-only.
+              "name": "A String", # 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.
+              "weight": 3.14, # Weight that this variation should receive. Only present if the experiment is running. This field is read-only.
+            },
+          ],
+          "minimumExperimentLengthInDays": 42, # 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.
+          "profileId": "A String", # View (Profile) ID to which this experiment belongs. This field is read-only.
+          "parentLink": { # Parent link for an experiment. Points to the view (profile) to which this experiment belongs.
+            "href": "A String", # Link to the view (profile) to which this experiment belongs. This field is read-only.
+            "type": "analytics#profile", # Value is "analytics#profile". This field is read-only.
+          },
+          "endTime": "A String", # 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.
+          "selfLink": "A String", # Link for this experiment. This field is read-only.
+        },
+    ],
+    "itemsPerPage": 42, # 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.
+    "previousLink": "A String", # Link to previous page for this experiment collection.
+    "startIndex": 42, # The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.
+    "nextLink": "A String", # Link to next page for this experiment collection.
+    "totalResults": 42, # The total number of results for the query, regardless of the number of resources in the result.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(accountId, webPropertyId, profileId, experimentId, body)</code>
+  <pre>Update an existing experiment. This method supports patch semantics.
+
+Args:
+  accountId: string, Account ID of the experiment to update. (required)
+  webPropertyId: string, Web property ID of the experiment to update. (required)
+  profileId: string, View (Profile) ID of the experiment to update. (required)
+  experimentId: string, Experiment ID of the experiment to update. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for Analytics experiment resource.
+    "trafficCoverage": 3.14, # A floating-point number between 0 and 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.
+    "webPropertyId": "A String", # Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only.
+    "optimizationType": "A String", # 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".
+    "objectiveMetric": "A String", # The metric that the experiment is optimizing. Valid values: "ga:goal(n)Completions", "ga:bounces", "ga:pageviews", "ga:timeOnSite", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
+    "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
+    "accountId": "A String", # Account ID to which this experiment belongs. This field is read-only.
+    "snippet": "A String", # The snippet of code to include on the control page(s). This field is read-only.
+    "editableInGaUi": "", # If true, the end user will be able to edit the experiment via the Google Analytics user interface.
+    "rewriteVariationUrlsAsOriginal": True or False, # 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.
+    "servingFramework": "", # The framework used to serve the experiment variations and evaluate the results. One of:
+        # - REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results.
+        # - API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation.
+        # - 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.
+    "status": "A String", # 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.
+    "updated": "A String", # Time the experiment was last modified. This field is read-only.
+    "description": "A String", # Notes about this experiment.
+    "reasonExperimentEnded": "A String", # 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.
+    "internalWebPropertyId": "A String", # Internal ID for the web property to which this experiment belongs. This field is read-only.
+    "winnerConfidenceLevel": 3.14, # A floating-point number between 0 and 1. Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.
+    "startTime": "A String", # 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.
+    "winnerFound": True or False, # Boolean specifying whether a winner has been found for this experiment. This field is read-only.
+    "kind": "analytics#experiment", # Resource type for an Analytics experiment. This field is read-only.
+    "name": "A String", # Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment.
+    "created": "A String", # Time the experiment was created. This field is read-only.
+    "variations": [ # 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.
+      {
+        "status": "A String", # 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.
+        "url": "A String", # The URL of the variation. This field may not be changed for an experiment whose status is RUNNING or ENDED.
+        "won": True or False, # True if the experiment has ended and this variation performed (statistically) significantly better than the original. This field is read-only.
+        "name": "A String", # 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.
+        "weight": 3.14, # Weight that this variation should receive. Only present if the experiment is running. This field is read-only.
+      },
+    ],
+    "minimumExperimentLengthInDays": 42, # 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.
+    "profileId": "A String", # View (Profile) ID to which this experiment belongs. This field is read-only.
+    "parentLink": { # Parent link for an experiment. Points to the view (profile) to which this experiment belongs.
+      "href": "A String", # Link to the view (profile) to which this experiment belongs. This field is read-only.
+      "type": "analytics#profile", # Value is "analytics#profile". This field is read-only.
+    },
+    "endTime": "A String", # 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.
+    "selfLink": "A String", # Link for this experiment. This field is read-only.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for Analytics experiment resource.
+      "trafficCoverage": 3.14, # A floating-point number between 0 and 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.
+      "webPropertyId": "A String", # Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only.
+      "optimizationType": "A String", # 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".
+      "objectiveMetric": "A String", # The metric that the experiment is optimizing. Valid values: "ga:goal(n)Completions", "ga:bounces", "ga:pageviews", "ga:timeOnSite", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
+      "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
+      "accountId": "A String", # Account ID to which this experiment belongs. This field is read-only.
+      "snippet": "A String", # The snippet of code to include on the control page(s). This field is read-only.
+      "editableInGaUi": "", # If true, the end user will be able to edit the experiment via the Google Analytics user interface.
+      "rewriteVariationUrlsAsOriginal": True or False, # 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.
+      "servingFramework": "", # The framework used to serve the experiment variations and evaluate the results. One of:
+          # - REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results.
+          # - API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation.
+          # - 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.
+      "status": "A String", # 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.
+      "updated": "A String", # Time the experiment was last modified. This field is read-only.
+      "description": "A String", # Notes about this experiment.
+      "reasonExperimentEnded": "A String", # 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.
+      "internalWebPropertyId": "A String", # Internal ID for the web property to which this experiment belongs. This field is read-only.
+      "winnerConfidenceLevel": 3.14, # A floating-point number between 0 and 1. Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.
+      "startTime": "A String", # 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.
+      "winnerFound": True or False, # Boolean specifying whether a winner has been found for this experiment. This field is read-only.
+      "kind": "analytics#experiment", # Resource type for an Analytics experiment. This field is read-only.
+      "name": "A String", # Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment.
+      "created": "A String", # Time the experiment was created. This field is read-only.
+      "variations": [ # 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.
+        {
+          "status": "A String", # 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.
+          "url": "A String", # The URL of the variation. This field may not be changed for an experiment whose status is RUNNING or ENDED.
+          "won": True or False, # True if the experiment has ended and this variation performed (statistically) significantly better than the original. This field is read-only.
+          "name": "A String", # 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.
+          "weight": 3.14, # Weight that this variation should receive. Only present if the experiment is running. This field is read-only.
+        },
+      ],
+      "minimumExperimentLengthInDays": 42, # 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.
+      "profileId": "A String", # View (Profile) ID to which this experiment belongs. This field is read-only.
+      "parentLink": { # Parent link for an experiment. Points to the view (profile) to which this experiment belongs.
+        "href": "A String", # Link to the view (profile) to which this experiment belongs. This field is read-only.
+        "type": "analytics#profile", # Value is "analytics#profile". This field is read-only.
+      },
+      "endTime": "A String", # 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.
+      "selfLink": "A String", # Link for this experiment. This field is read-only.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(accountId, webPropertyId, profileId, experimentId, body)</code>
+  <pre>Update an existing experiment.
+
+Args:
+  accountId: string, Account ID of the experiment to update. (required)
+  webPropertyId: string, Web property ID of the experiment to update. (required)
+  profileId: string, View (Profile) ID of the experiment to update. (required)
+  experimentId: string, Experiment ID of the experiment to update. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for Analytics experiment resource.
+    "trafficCoverage": 3.14, # A floating-point number between 0 and 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.
+    "webPropertyId": "A String", # Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only.
+    "optimizationType": "A String", # 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".
+    "objectiveMetric": "A String", # The metric that the experiment is optimizing. Valid values: "ga:goal(n)Completions", "ga:bounces", "ga:pageviews", "ga:timeOnSite", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
+    "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
+    "accountId": "A String", # Account ID to which this experiment belongs. This field is read-only.
+    "snippet": "A String", # The snippet of code to include on the control page(s). This field is read-only.
+    "editableInGaUi": "", # If true, the end user will be able to edit the experiment via the Google Analytics user interface.
+    "rewriteVariationUrlsAsOriginal": True or False, # 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.
+    "servingFramework": "", # The framework used to serve the experiment variations and evaluate the results. One of:
+        # - REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results.
+        # - API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation.
+        # - 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.
+    "status": "A String", # 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.
+    "updated": "A String", # Time the experiment was last modified. This field is read-only.
+    "description": "A String", # Notes about this experiment.
+    "reasonExperimentEnded": "A String", # 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.
+    "internalWebPropertyId": "A String", # Internal ID for the web property to which this experiment belongs. This field is read-only.
+    "winnerConfidenceLevel": 3.14, # A floating-point number between 0 and 1. Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.
+    "startTime": "A String", # 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.
+    "winnerFound": True or False, # Boolean specifying whether a winner has been found for this experiment. This field is read-only.
+    "kind": "analytics#experiment", # Resource type for an Analytics experiment. This field is read-only.
+    "name": "A String", # Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment.
+    "created": "A String", # Time the experiment was created. This field is read-only.
+    "variations": [ # 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.
+      {
+        "status": "A String", # 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.
+        "url": "A String", # The URL of the variation. This field may not be changed for an experiment whose status is RUNNING or ENDED.
+        "won": True or False, # True if the experiment has ended and this variation performed (statistically) significantly better than the original. This field is read-only.
+        "name": "A String", # 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.
+        "weight": 3.14, # Weight that this variation should receive. Only present if the experiment is running. This field is read-only.
+      },
+    ],
+    "minimumExperimentLengthInDays": 42, # 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.
+    "profileId": "A String", # View (Profile) ID to which this experiment belongs. This field is read-only.
+    "parentLink": { # Parent link for an experiment. Points to the view (profile) to which this experiment belongs.
+      "href": "A String", # Link to the view (profile) to which this experiment belongs. This field is read-only.
+      "type": "analytics#profile", # Value is "analytics#profile". This field is read-only.
+    },
+    "endTime": "A String", # 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.
+    "selfLink": "A String", # Link for this experiment. This field is read-only.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for Analytics experiment resource.
+      "trafficCoverage": 3.14, # A floating-point number between 0 and 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.
+      "webPropertyId": "A String", # Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only.
+      "optimizationType": "A String", # 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".
+      "objectiveMetric": "A String", # The metric that the experiment is optimizing. Valid values: "ga:goal(n)Completions", "ga:bounces", "ga:pageviews", "ga:timeOnSite", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
+      "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
+      "accountId": "A String", # Account ID to which this experiment belongs. This field is read-only.
+      "snippet": "A String", # The snippet of code to include on the control page(s). This field is read-only.
+      "editableInGaUi": "", # If true, the end user will be able to edit the experiment via the Google Analytics user interface.
+      "rewriteVariationUrlsAsOriginal": True or False, # 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.
+      "servingFramework": "", # The framework used to serve the experiment variations and evaluate the results. One of:
+          # - REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results.
+          # - API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation.
+          # - 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.
+      "status": "A String", # 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.
+      "updated": "A String", # Time the experiment was last modified. This field is read-only.
+      "description": "A String", # Notes about this experiment.
+      "reasonExperimentEnded": "A String", # 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.
+      "internalWebPropertyId": "A String", # Internal ID for the web property to which this experiment belongs. This field is read-only.
+      "winnerConfidenceLevel": 3.14, # A floating-point number between 0 and 1. Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.
+      "startTime": "A String", # 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.
+      "winnerFound": True or False, # Boolean specifying whether a winner has been found for this experiment. This field is read-only.
+      "kind": "analytics#experiment", # Resource type for an Analytics experiment. This field is read-only.
+      "name": "A String", # Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment.
+      "created": "A String", # Time the experiment was created. This field is read-only.
+      "variations": [ # 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.
+        {
+          "status": "A String", # 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.
+          "url": "A String", # The URL of the variation. This field may not be changed for an experiment whose status is RUNNING or ENDED.
+          "won": True or False, # True if the experiment has ended and this variation performed (statistically) significantly better than the original. This field is read-only.
+          "name": "A String", # 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.
+          "weight": 3.14, # Weight that this variation should receive. Only present if the experiment is running. This field is read-only.
+        },
+      ],
+      "minimumExperimentLengthInDays": 42, # 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.
+      "profileId": "A String", # View (Profile) ID to which this experiment belongs. This field is read-only.
+      "parentLink": { # Parent link for an experiment. Points to the view (profile) to which this experiment belongs.
+        "href": "A String", # Link to the view (profile) to which this experiment belongs. This field is read-only.
+        "type": "analytics#profile", # Value is "analytics#profile". This field is read-only.
+      },
+      "endTime": "A String", # 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.
+      "selfLink": "A String", # Link for this experiment. This field is read-only.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.goals.html b/docs/dyn/analytics_v3.management.goals.html
index 4c6571a..ff0e1e2 100644
--- a/docs/dyn/analytics_v3.management.goals.html
+++ b/docs/dyn/analytics_v3.management.goals.html
@@ -85,14 +85,14 @@
 Args:
   accountId: string, 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. (required)
   webPropertyId: string, 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. (required)
-  profileId: string, Profile ID to retrieve goals for. Can either be a specific profile ID or '~all', which refers to all the profiles that user has access to. (required)
+  profileId: string, 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. (required)
   max_results: integer, The maximum number of goals to include in this response.
   start_index: integer, An index of the first goal to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
 
 Returns:
   An object of the form:
 
-    { # A goal collection lists Analytics goals to which the user has access. Each profile can have a set of goals. Each resource in the Goal collection corresponds to a single Analytics goal.
+    { # 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.
     "username": "A String", # Email ID of the authenticated user
     "kind": "analytics#goals", # Collection type.
     "items": [ # A list of goals.
@@ -138,9 +138,9 @@
         },
         "webPropertyId": "A String", # Web property ID to which this goal belongs. The web property ID is of the form UA-XXXXX-YY.
         "active": True or False, # Determines whether this goal is active.
-        "profileId": "A String", # Profile ID to which this goal belongs.
-        "parentLink": { # Parent link for a goal. Points to the profile to which this goal belongs.
-          "href": "A String", # Link to the profile to which this goal belongs.
+        "profileId": "A String", # View (Profile) ID to which this goal belongs.
+        "parentLink": { # Parent link for a goal. Points to the view (profile) to which this goal belongs.
+          "href": "A String", # Link to the view (profile) to which this goal belongs.
           "type": "analytics#profile", # Value is "analytics#profile".
         },
         "type": "A String", # Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE, VISIT_NUM_PAGES, AND EVENT.
diff --git a/docs/dyn/analytics_v3.management.html b/docs/dyn/analytics_v3.management.html
index 6ac7b05..b285f71 100644
--- a/docs/dyn/analytics_v3.management.html
+++ b/docs/dyn/analytics_v3.management.html
@@ -90,6 +90,11 @@
 <p class="firstline">Returns the dailyUploads Resource.</p>
 
 <p class="toc_element">
+  <code><a href="analytics_v3.management.experiments.html">experiments()</a></code>
+</p>
+<p class="firstline">Returns the experiments Resource.</p>
+
+<p class="toc_element">
   <code><a href="analytics_v3.management.goals.html">goals()</a></code>
 </p>
 <p class="firstline">Returns the goals Resource.</p>
diff --git a/docs/dyn/analytics_v3.management.profiles.html b/docs/dyn/analytics_v3.management.profiles.html
index 3b58d47..9891fed 100644
--- a/docs/dyn/analytics_v3.management.profiles.html
+++ b/docs/dyn/analytics_v3.management.profiles.html
@@ -76,58 +76,58 @@
 <h2>Instance Methods</h2>
 <p class="toc_element">
   <code><a href="#list">list(accountId, webPropertyId, max_results=None, start_index=None)</a></code></p>
-<p class="firstline">Lists profiles to which the user has access.</p>
+<p class="firstline">Lists views (profiles) to which the user has access.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="list">list(accountId, webPropertyId, max_results=None, start_index=None)</code>
-  <pre>Lists profiles to which the user has access.
+  <pre>Lists views (profiles) to which the user has access.
 
 Args:
-  accountId: string, Account ID for the profiles to retrieve. Can either be a specific account ID or '~all', which refers to all the accounts to which the user has access. (required)
-  webPropertyId: string, Web property ID for the 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. (required)
-  max_results: integer, The maximum number of profiles to include in this response.
+  accountId: string, 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. (required)
+  webPropertyId: string, 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. (required)
+  max_results: integer, The maximum number of views (profiles) to include in this response.
   start_index: integer, An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
 
 Returns:
   An object of the form:
 
-    { # A profile collection lists Analytics profiles to which the user has access. Each resource in the collection corresponds to a single Analytics profile.
+    { # 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).
     "username": "A String", # Email ID of the authenticated user
     "kind": "analytics#profiles", # Collection type.
-    "items": [ # A list of profiles.
-      { # JSON template for an Analytics profile.
-        "defaultPage": "A String", # Default page for this profile.
+    "items": [ # A list of views (profiles).
+      { # JSON template for an Analytics view (profile).
+        "defaultPage": "A String", # Default page for this view (profile).
         "kind": "analytics#profile", # Resource type for Analytics profile.
-        "excludeQueryParameters": "A String", # The query parameters that are excluded from this profile.
-        "name": "A String", # Name of this profile.
-        "created": "A String", # Time this profile was created.
-        "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this profile belongs.
-        "updated": "A String", # Time this profile was last modified.
-        "siteSearchQueryParameters": "A String", # The site search query parameters for this profile.
-        "websiteUrl": "A String", # Website URL for this profile.
-        "currency": "A String", # The currency type associated with this profile.
-        "internalWebPropertyId": "A String", # Internal ID for the web property to which this profile belongs.
-        "childLink": { # Child link for this profile. Points to the list of goals for this profile.
-          "href": "A String", # Link to the list of goals for this profile.
+        "excludeQueryParameters": "A String", # The query parameters that are excluded from this view (profile).
+        "name": "A String", # Name of this view (profile).
+        "created": "A String", # Time this view (profile) was created.
+        "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+        "updated": "A String", # Time this view (profile) was last modified.
+        "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile).
+        "websiteUrl": "A String", # Website URL for this view (profile).
+        "currency": "A String", # The currency type associated with this view (profile).
+        "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
+        "childLink": { # Child link for this view (profile). Points to the list of goals for this view (profile).
+          "href": "A String", # Link to the list of goals for this view (profile).
           "type": "analytics#goals", # Value is "analytics#goals".
         },
-        "eCommerceTracking": True or False, # E-commerce tracking parameter for this profile.
+        "eCommerceTracking": True or False, # Indicates whether ecommerce tracking is enabled for this view (profile).
         "timezone": "A String", # Time zone for which this profile has been configured.
-        "siteSearchCategoryParameters": "A String", # Site search category parameters for this profile.
-        "parentLink": { # Parent link for this profile. Points to the web property to which this profile belongs.
-          "href": "A String", # Link to the web property to which this profile belongs.
+        "siteSearchCategoryParameters": "A String", # Site search category parameters for this view (profile).
+        "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs.
+          "href": "A String", # Link to the web property to which this view (profile) belongs.
           "type": "analytics#webproperty", # Value is "analytics#webproperty".
         },
-        "type": "A String", # Profile type. Supported types: WEB or APP.
-        "id": "A String", # Profile ID.
-        "selfLink": "A String", # Link for this profile.
-        "accountId": "A String", # Account ID to which this profile belongs.
+        "type": "A String", # View (Profile) type. Supported types: WEB or APP.
+        "id": "A String", # View (Profile) ID.
+        "selfLink": "A String", # Link for this view (profile).
+        "accountId": "A String", # Account ID to which this view (profile) belongs.
       },
     ],
     "itemsPerPage": 42, # 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.
-    "previousLink": "A String", # Link to previous page for this profile collection.
+    "previousLink": "A String", # Link to previous page for this view (profile) collection.
     "startIndex": 42, # The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.
-    "nextLink": "A String", # Link to next page for this profile collection.
+    "nextLink": "A String", # Link to next page for this view (profile) collection.
     "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
   }</pre>
 </div>
diff --git a/docs/dyn/analytics_v3.management.webproperties.html b/docs/dyn/analytics_v3.management.webproperties.html
index 87c3f13..1ed414e 100644
--- a/docs/dyn/analytics_v3.management.webproperties.html
+++ b/docs/dyn/analytics_v3.management.webproperties.html
@@ -95,16 +95,19 @@
     "kind": "analytics#webproperties", # Collection type.
     "items": [ # A list of web properties.
       { # JSON template for an Analytics web property.
+        "websiteUrl": "A String", # Website url for this web property.
         "kind": "analytics#webproperty", # Resource type for Analytics WebProperty.
         "name": "A String", # Name of this web property.
         "created": "A String", # Time this web property was created.
+        "level": "A String", # Level for this web property. Possible values are STANDARD or PREMIUM.
         "updated": "A String", # Time this web property was last modified.
-        "websiteUrl": "A String", # Website url for this web property.
+        "profileCount": 42, # View (Profile) count for this web property.
         "internalWebPropertyId": "A String", # Internal ID for this web property.
-        "childLink": { # Child link for this web property. Points to the list of profiles for this web property.
-          "href": "A String", # Link to the list of profiles for this web property.
+        "childLink": { # Child link for this web property. Points to the list of views (profiles) for this web property.
+          "href": "A String", # Link to the list of views (profiles) for this web property.
           "type": "analytics#profiles", # Type of the parent link. Its value is "analytics#profiles".
         },
+        "industryVertical": "A String", # The industry vertical/category selected for this web property.
         "parentLink": { # Parent link for this web property. Points to the account to which this web property belongs.
           "href": "A String", # Link to the account for this web property.
           "type": "analytics#account", # Type of the parent link. Its value is "analytics#account".
diff --git a/docs/dyn/androidpublisher_v1_1.html b/docs/dyn/androidpublisher_v1_1.html
new file mode 100644
index 0000000..adf06a6
--- /dev/null
+++ b/docs/dyn/androidpublisher_v1_1.html
@@ -0,0 +1,87 @@
+<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="androidpublisher_v1_1.html">Google Play Android Developer API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="androidpublisher_v1_1.inapppurchases.html">inapppurchases()</a></code>
+</p>
+<p class="firstline">Returns the inapppurchases Resource.</p>
+
+<p class="toc_element">
+  <code><a href="androidpublisher_v1_1.purchases.html">purchases()</a></code>
+</p>
+<p class="firstline">Returns the purchases Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/androidpublisher_v1_1.inapppurchases.html b/docs/dyn/androidpublisher_v1_1.inapppurchases.html
new file mode 100644
index 0000000..e358f3c
--- /dev/null
+++ b/docs/dyn/androidpublisher_v1_1.inapppurchases.html
@@ -0,0 +1,106 @@
+<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="androidpublisher_v1_1.html">Google Play Android Developer API</a> . <a href="androidpublisher_v1_1.inapppurchases.html">inapppurchases</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(packageName, productId, token)</a></code></p>
+<p class="firstline">Checks the purchase and consumption status of an inapp item.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(packageName, productId, token)</code>
+  <pre>Checks the purchase and consumption status of an inapp item.
+
+Args:
+  packageName: string, The package name of the application the inapp product was sold in (for example, 'com.some.thing'). (required)
+  productId: string, The inapp product SKU (for example, 'com.some.thing.inapp1'). (required)
+  token: string, The token provided to the user's device when the inapp product was purchased. (required)
+
+Returns:
+  An object of the form:
+
+    { # A Purchase resource indicates the status of a user's subscription purchase.
+    "consumptionState": 42, # The consumption state of the inapp product. Possible values are:
+        # - - Consumed
+        # - - Yet to be consumed
+    "developerPayload": "A String", # A developer-specified string that contains supplemental information about an order.
+    "kind": "androidpublisher#inappPurchase", # This kind represents a inappPurchase object in the androidpublisher service.
+    "purchaseTime": "A String", # The time the product was purchased, in milliseconds since the epoch (Jan 1, 1970).
+    "purchaseState": 42, # The purchase state of the order. Possible values are:
+        # - - Purchased
+        # - - Cancelled
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/androidpublisher_v1_1.purchases.html b/docs/dyn/androidpublisher_v1_1.purchases.html
new file mode 100644
index 0000000..f556adc
--- /dev/null
+++ b/docs/dyn/androidpublisher_v1_1.purchases.html
@@ -0,0 +1,115 @@
+<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="androidpublisher_v1_1.html">Google Play Android Developer API</a> . <a href="androidpublisher_v1_1.purchases.html">purchases</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#cancel">cancel(packageName, subscriptionId, token)</a></code></p>
+<p class="firstline">Cancels a user's subscription purchase. The subscription remains valid until its expiration time.</p>
+<p class="toc_element">
+  <code><a href="#get">get(packageName, subscriptionId, token)</a></code></p>
+<p class="firstline">Checks whether a user's subscription purchase is valid and returns its expiry time.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="cancel">cancel(packageName, subscriptionId, token)</code>
+  <pre>Cancels a user's subscription purchase. The subscription remains valid until its expiration time.
+
+Args:
+  packageName: string, The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). (required)
+  subscriptionId: string, The purchased subscription ID (for example, 'monthly001'). (required)
+  token: string, The token provided to the user's device when the subscription was purchased. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(packageName, subscriptionId, token)</code>
+  <pre>Checks whether a user's subscription purchase is valid and returns its expiry time.
+
+Args:
+  packageName: string, The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). (required)
+  subscriptionId: string, The purchased subscription ID (for example, 'monthly001'). (required)
+  token: string, The token provided to the user's device when the subscription was purchased. (required)
+
+Returns:
+  An object of the form:
+
+    { # A Purchase resource indicates the status of a user's subscription purchase.
+    "initiationTimestampMsec": "A String", # Time at which the subscription was granted, in milliseconds since Epoch.
+    "kind": "androidpublisher#subscriptionPurchase", # This kind represents a subscriptionPurchase object in the androidpublisher service.
+    "autoRenewing": True or False, # Whether the subscription will automatically be renewed when it reaches its current expiry time.
+    "validUntilTimestampMsec": "A String", # Time at which the subscription will expire, in milliseconds since Epoch.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/appstate_v1.html b/docs/dyn/appstate_v1.html
new file mode 100644
index 0000000..37445e5
--- /dev/null
+++ b/docs/dyn/appstate_v1.html
@@ -0,0 +1,82 @@
+<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="appstate_v1.html">Google App State API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="appstate_v1.states.html">states()</a></code>
+</p>
+<p class="firstline">Returns the states Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/appstate_v1.states.html b/docs/dyn/appstate_v1.states.html
new file mode 100644
index 0000000..62656aa
--- /dev/null
+++ b/docs/dyn/appstate_v1.states.html
@@ -0,0 +1,188 @@
+<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="appstate_v1.html">Google App State API</a> . <a href="appstate_v1.states.html">states</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#clear">clear(stateKey, currentDataVersion=None)</a></code></p>
+<p class="firstline">Clears (sets to empty) the data for the passed key if and only if the passed version matches the currently stored version. This method results in a conflict error on version mismatch.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(stateKey)</a></code></p>
+<p class="firstline">Deletes a key and the data associated with it. The key is removed and no longer counts against the key quota. Note that since this method is not safe in the face of concurrent modifications, it should only be used for development and testing purposes. Invoking this method in shipping code can result in data loss and data corruption.</p>
+<p class="toc_element">
+  <code><a href="#get">get(stateKey)</a></code></p>
+<p class="firstline">Retrieves the data corresponding to the passed key.</p>
+<p class="toc_element">
+  <code><a href="#list">list(includeData=None)</a></code></p>
+<p class="firstline">Lists all the states keys, and optionally the state data.</p>
+<p class="toc_element">
+  <code><a href="#update">update(stateKey, body, currentStateVersion=None)</a></code></p>
+<p class="firstline">Update the data associated with the input key if and only if the passed version matches the currently stored version. This method is safe in the face of concurrent writes. Maximum per-key size is 128KB.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="clear">clear(stateKey, currentDataVersion=None)</code>
+  <pre>Clears (sets to empty) the data for the passed key if and only if the passed version matches the currently stored version. This method results in a conflict error on version mismatch.
+
+Args:
+  stateKey: integer, The key for the data to be retrieved. (required)
+  currentDataVersion: string, The version of the data to be cleared. Version strings are returned by the server.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for an app state write result.
+    "kind": "appstate#writeResult", # Uniquely identifies the type of this resource. Value is always the fixed string appstate#writeResult.
+    "stateKey": 42, # The written key.
+    "currentStateVersion": "A String", # The version of the data for this key on the server.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(stateKey)</code>
+  <pre>Deletes a key and the data associated with it. The key is removed and no longer counts against the key quota. Note that since this method is not safe in the face of concurrent modifications, it should only be used for development and testing purposes. Invoking this method in shipping code can result in data loss and data corruption.
+
+Args:
+  stateKey: integer, The key for the data to be retrieved. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(stateKey)</code>
+  <pre>Retrieves the data corresponding to the passed key.
+
+Args:
+  stateKey: integer, The key for the data to be retrieved. (required)
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for an app state resource.
+    "stateKey": 42, # The key for the data.
+    "kind": "appstate#getResponse", # Uniquely identifies the type of this resource. Value is always the fixed string appstate#getResponse.
+    "data": "A String", # The requested data.
+    "currentStateVersion": "A String", # The current app state version.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(includeData=None)</code>
+  <pre>Lists all the states keys, and optionally the state data.
+
+Args:
+  includeData: boolean, Whether to include the full data in addition to the version number
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template to convert a list-response for app state.
+    "items": [ # The app state data.
+      { # This is a JSON template for an app state resource.
+        "stateKey": 42, # The key for the data.
+        "kind": "appstate#getResponse", # Uniquely identifies the type of this resource. Value is always the fixed string appstate#getResponse.
+        "data": "A String", # The requested data.
+        "currentStateVersion": "A String", # The current app state version.
+      },
+    ],
+    "kind": "appstate#listResponse", # Uniquely identifies the type of this resource. Value is always the fixed string appstate#listResponse.
+    "maximumKeyCount": 42, # The maximum number of keys allowed for this user.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(stateKey, body, currentStateVersion=None)</code>
+  <pre>Update the data associated with the input key if and only if the passed version matches the currently stored version. This method is safe in the face of concurrent writes. Maximum per-key size is 128KB.
+
+Args:
+  stateKey: integer, The key for the data to be retrieved. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for a requests which update app state
+    "kind": "appstate#updateRequest", # Uniquely identifies the type of this resource. Value is always the fixed string appstate#updateRequest.
+    "data": "A String", # The new app state data that your application is trying to update with.
+  }
+
+  currentStateVersion: string, The version of the app state your application is attempting to update. If this does not match the current version, this method will return a conflict error. If there is no data stored on the server for this key, the update will succeed irrespective of the value of this parameter.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for an app state write result.
+    "kind": "appstate#writeResult", # Uniquely identifies the type of this resource. Value is always the fixed string appstate#writeResult.
+    "stateKey": 42, # The written key.
+    "currentStateVersion": "A String", # The version of the data for this key on the server.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/bigquery_v2.datasets.html b/docs/dyn/bigquery_v2.datasets.html
index 50303a2..f188188 100644
--- a/docs/dyn/bigquery_v2.datasets.html
+++ b/docs/dyn/bigquery_v2.datasets.html
@@ -127,14 +127,14 @@
       },
       "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
       "access": [ # [Optional] Describes users' rights on the dataset. You can assign the same role to multiple users, and assign multiple roles to the same user.
-          # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READ - Project readers WRITE - Project writers
+          # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READER - Project readers WRITER - Project writers
           # See ACLs and Rights for a description of these rights. If you specify any of these roles when creating a dataset, the assigned roles will overwrite the defaults listed above.
           # To revoke rights to a dataset, call datasets.update() and omit the names of anyone whose rights you wish to revoke. However, every dataset must have at least one entity granted OWNER role.
           # Each access object can have only one of the following members: userByEmail, groupByEmail, domain, or allAuthenticatedUsers.
         {
           "specialGroup": "A String", # [Pick one] A special group to grant access to. The valid values are: projectOwners: Owners of the enclosing project. projectReaders: Readers of the enclosing project. projectWriters: Writers of the enclosing project. allAuthenticatedUsers: All authenticated BigQuery users.
           "domain": "A String", # [Pick one] A domain to grant access to. Any users signed in with the domain specified will be granted the specified access. Example: "example.com".
-          "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READ - User can call any list() or get() method on any collection or resource. WRITE - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
+          "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER - User can call any list() or get() method on any collection or resource. WRITER - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
           "groupByEmail": "A String", # [Pick one] A fully-qualified email address of a mailing list to grant access to. This must be either a Google Groups mailing list (ends in @googlegroups.com) or a group managed by an enterprise version of Google Groups.
           "userByEmail": "A String", # [Pick one] A fully qualified email address of a user to grant access to. For example: fred@example.com.
         },
@@ -165,14 +165,14 @@
     },
     "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
     "access": [ # [Optional] Describes users' rights on the dataset. You can assign the same role to multiple users, and assign multiple roles to the same user.
-        # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READ - Project readers WRITE - Project writers
+        # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READER - Project readers WRITER - Project writers
         # See ACLs and Rights for a description of these rights. If you specify any of these roles when creating a dataset, the assigned roles will overwrite the defaults listed above.
         # To revoke rights to a dataset, call datasets.update() and omit the names of anyone whose rights you wish to revoke. However, every dataset must have at least one entity granted OWNER role.
         # Each access object can have only one of the following members: userByEmail, groupByEmail, domain, or allAuthenticatedUsers.
       {
         "specialGroup": "A String", # [Pick one] A special group to grant access to. The valid values are: projectOwners: Owners of the enclosing project. projectReaders: Readers of the enclosing project. projectWriters: Writers of the enclosing project. allAuthenticatedUsers: All authenticated BigQuery users.
         "domain": "A String", # [Pick one] A domain to grant access to. Any users signed in with the domain specified will be granted the specified access. Example: "example.com".
-        "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READ - User can call any list() or get() method on any collection or resource. WRITE - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
+        "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER - User can call any list() or get() method on any collection or resource. WRITER - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
         "groupByEmail": "A String", # [Pick one] A fully-qualified email address of a mailing list to grant access to. This must be either a Google Groups mailing list (ends in @googlegroups.com) or a group managed by an enterprise version of Google Groups.
         "userByEmail": "A String", # [Pick one] A fully qualified email address of a user to grant access to. For example: fred@example.com.
       },
@@ -197,14 +197,14 @@
       },
       "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
       "access": [ # [Optional] Describes users' rights on the dataset. You can assign the same role to multiple users, and assign multiple roles to the same user.
-          # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READ - Project readers WRITE - Project writers
+          # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READER - Project readers WRITER - Project writers
           # See ACLs and Rights for a description of these rights. If you specify any of these roles when creating a dataset, the assigned roles will overwrite the defaults listed above.
           # To revoke rights to a dataset, call datasets.update() and omit the names of anyone whose rights you wish to revoke. However, every dataset must have at least one entity granted OWNER role.
           # Each access object can have only one of the following members: userByEmail, groupByEmail, domain, or allAuthenticatedUsers.
         {
           "specialGroup": "A String", # [Pick one] A special group to grant access to. The valid values are: projectOwners: Owners of the enclosing project. projectReaders: Readers of the enclosing project. projectWriters: Writers of the enclosing project. allAuthenticatedUsers: All authenticated BigQuery users.
           "domain": "A String", # [Pick one] A domain to grant access to. Any users signed in with the domain specified will be granted the specified access. Example: "example.com".
-          "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READ - User can call any list() or get() method on any collection or resource. WRITE - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
+          "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER - User can call any list() or get() method on any collection or resource. WRITER - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
           "groupByEmail": "A String", # [Pick one] A fully-qualified email address of a mailing list to grant access to. This must be either a Google Groups mailing list (ends in @googlegroups.com) or a group managed by an enterprise version of Google Groups.
           "userByEmail": "A String", # [Pick one] A fully qualified email address of a user to grant access to. For example: fred@example.com.
         },
@@ -230,20 +230,20 @@
   An object of the form:
 
     {
-    "nextPageToken": "A String", # A token to request the next page of results. Present only when there is more than one page of results.* See Paging Through Results in the developer's guide.
-    "kind": "bigquery#datasetList", # The type of list.
-    "datasets": [ # An array of one or more summarized dataset resources. Absent when there are no datasets in the specified project.
+    "nextPageToken": "A String", # A token that can be used to request the next results page. This property is omitted on the final results page.
+    "kind": "bigquery#datasetList", # The list type. This property always returns the value "bigquery#datasetList".
+    "datasets": [ # An array of the dataset resources in the project. Each resource contains basic information. For full information about a particular dataset resource, use the Datasets: get method. This property is omitted when there are no datasets in the project.
       {
-        "friendlyName": "A String", # A descriptive name for this dataset, if one exists.
-        "kind": "bigquery#dataset", # The resource type.
-        "id": "A String", # The fully-qualified unique name of this dataset in the format projectId:datasetId.
-        "datasetReference": { # Reference identifying dataset.
+        "friendlyName": "A String", # A descriptive name for the dataset, if one exists.
+        "kind": "bigquery#dataset", # The resource type. This property always returns the value "bigquery#dataset".
+        "id": "A String", # The fully-qualified, unique, opaque ID of the dataset.
+        "datasetReference": { # The dataset reference. Use this property to access specific parts of the dataset's ID, such as project ID or dataset ID.
           "projectId": "A String", # [Optional] The ID of the container project.
           "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
         },
       },
     ],
-    "etag": "A String", # A hash of this page of results. See Paging Through Results in the developer's guide.
+    "etag": "A String", # A hash value of the results page. You can use this property to determine if the page has changed since the last request.
   }</pre>
 </div>
 
@@ -280,14 +280,14 @@
     },
     "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
     "access": [ # [Optional] Describes users' rights on the dataset. You can assign the same role to multiple users, and assign multiple roles to the same user.
-        # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READ - Project readers WRITE - Project writers
+        # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READER - Project readers WRITER - Project writers
         # See ACLs and Rights for a description of these rights. If you specify any of these roles when creating a dataset, the assigned roles will overwrite the defaults listed above.
         # To revoke rights to a dataset, call datasets.update() and omit the names of anyone whose rights you wish to revoke. However, every dataset must have at least one entity granted OWNER role.
         # Each access object can have only one of the following members: userByEmail, groupByEmail, domain, or allAuthenticatedUsers.
       {
         "specialGroup": "A String", # [Pick one] A special group to grant access to. The valid values are: projectOwners: Owners of the enclosing project. projectReaders: Readers of the enclosing project. projectWriters: Writers of the enclosing project. allAuthenticatedUsers: All authenticated BigQuery users.
         "domain": "A String", # [Pick one] A domain to grant access to. Any users signed in with the domain specified will be granted the specified access. Example: "example.com".
-        "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READ - User can call any list() or get() method on any collection or resource. WRITE - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
+        "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER - User can call any list() or get() method on any collection or resource. WRITER - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
         "groupByEmail": "A String", # [Pick one] A fully-qualified email address of a mailing list to grant access to. This must be either a Google Groups mailing list (ends in @googlegroups.com) or a group managed by an enterprise version of Google Groups.
         "userByEmail": "A String", # [Pick one] A fully qualified email address of a user to grant access to. For example: fred@example.com.
       },
@@ -312,14 +312,14 @@
       },
       "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
       "access": [ # [Optional] Describes users' rights on the dataset. You can assign the same role to multiple users, and assign multiple roles to the same user.
-          # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READ - Project readers WRITE - Project writers
+          # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READER - Project readers WRITER - Project writers
           # See ACLs and Rights for a description of these rights. If you specify any of these roles when creating a dataset, the assigned roles will overwrite the defaults listed above.
           # To revoke rights to a dataset, call datasets.update() and omit the names of anyone whose rights you wish to revoke. However, every dataset must have at least one entity granted OWNER role.
           # Each access object can have only one of the following members: userByEmail, groupByEmail, domain, or allAuthenticatedUsers.
         {
           "specialGroup": "A String", # [Pick one] A special group to grant access to. The valid values are: projectOwners: Owners of the enclosing project. projectReaders: Readers of the enclosing project. projectWriters: Writers of the enclosing project. allAuthenticatedUsers: All authenticated BigQuery users.
           "domain": "A String", # [Pick one] A domain to grant access to. Any users signed in with the domain specified will be granted the specified access. Example: "example.com".
-          "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READ - User can call any list() or get() method on any collection or resource. WRITE - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
+          "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER - User can call any list() or get() method on any collection or resource. WRITER - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
           "groupByEmail": "A String", # [Pick one] A fully-qualified email address of a mailing list to grant access to. This must be either a Google Groups mailing list (ends in @googlegroups.com) or a group managed by an enterprise version of Google Groups.
           "userByEmail": "A String", # [Pick one] A fully qualified email address of a user to grant access to. For example: fred@example.com.
         },
@@ -351,14 +351,14 @@
     },
     "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
     "access": [ # [Optional] Describes users' rights on the dataset. You can assign the same role to multiple users, and assign multiple roles to the same user.
-        # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READ - Project readers WRITE - Project writers
+        # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READER - Project readers WRITER - Project writers
         # See ACLs and Rights for a description of these rights. If you specify any of these roles when creating a dataset, the assigned roles will overwrite the defaults listed above.
         # To revoke rights to a dataset, call datasets.update() and omit the names of anyone whose rights you wish to revoke. However, every dataset must have at least one entity granted OWNER role.
         # Each access object can have only one of the following members: userByEmail, groupByEmail, domain, or allAuthenticatedUsers.
       {
         "specialGroup": "A String", # [Pick one] A special group to grant access to. The valid values are: projectOwners: Owners of the enclosing project. projectReaders: Readers of the enclosing project. projectWriters: Writers of the enclosing project. allAuthenticatedUsers: All authenticated BigQuery users.
         "domain": "A String", # [Pick one] A domain to grant access to. Any users signed in with the domain specified will be granted the specified access. Example: "example.com".
-        "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READ - User can call any list() or get() method on any collection or resource. WRITE - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
+        "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER - User can call any list() or get() method on any collection or resource. WRITER - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
         "groupByEmail": "A String", # [Pick one] A fully-qualified email address of a mailing list to grant access to. This must be either a Google Groups mailing list (ends in @googlegroups.com) or a group managed by an enterprise version of Google Groups.
         "userByEmail": "A String", # [Pick one] A fully qualified email address of a user to grant access to. For example: fred@example.com.
       },
@@ -383,14 +383,14 @@
       },
       "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
       "access": [ # [Optional] Describes users' rights on the dataset. You can assign the same role to multiple users, and assign multiple roles to the same user.
-          # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READ - Project readers WRITE - Project writers
+          # Default values assigned to a new dataset are as follows: OWNER - Project owners, dataset creator READER - Project readers WRITER - Project writers
           # See ACLs and Rights for a description of these rights. If you specify any of these roles when creating a dataset, the assigned roles will overwrite the defaults listed above.
           # To revoke rights to a dataset, call datasets.update() and omit the names of anyone whose rights you wish to revoke. However, every dataset must have at least one entity granted OWNER role.
           # Each access object can have only one of the following members: userByEmail, groupByEmail, domain, or allAuthenticatedUsers.
         {
           "specialGroup": "A String", # [Pick one] A special group to grant access to. The valid values are: projectOwners: Owners of the enclosing project. projectReaders: Readers of the enclosing project. projectWriters: Writers of the enclosing project. allAuthenticatedUsers: All authenticated BigQuery users.
           "domain": "A String", # [Pick one] A domain to grant access to. Any users signed in with the domain specified will be granted the specified access. Example: "example.com".
-          "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READ - User can call any list() or get() method on any collection or resource. WRITE - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
+          "role": "A String", # [Required] Describes the rights granted to the user specified by the other member of the access object. The following string values are supported: READER - User can call any list() or get() method on any collection or resource. WRITER - User can call any method on any collection except for datasets, on which they can call list() and get(). OWNER - User can call any method. The dataset creator is granted this role by default.
           "groupByEmail": "A String", # [Pick one] A fully-qualified email address of a mailing list to grant access to. This must be either a Google Groups mailing list (ends in @googlegroups.com) or a group managed by an enterprise version of Google Groups.
           "userByEmail": "A String", # [Pick one] A fully qualified email address of a user to grant access to. For example: fred@example.com.
         },
diff --git a/docs/dyn/bigquery_v2.jobs.html b/docs/dyn/bigquery_v2.jobs.html
index 26cc5ab..e252020 100644
--- a/docs/dyn/bigquery_v2.jobs.html
+++ b/docs/dyn/bigquery_v2.jobs.html
@@ -78,7 +78,7 @@
   <code><a href="#get">get(projectId, jobId)</a></code></p>
 <p class="firstline">Retrieves the specified job by ID.</p>
 <p class="toc_element">
-  <code><a href="#getQueryResults">getQueryResults(projectId, jobId, timeoutMs=None, maxResults=None, startIndex=None)</a></code></p>
+  <code><a href="#getQueryResults">getQueryResults(projectId, jobId, timeoutMs=None, pageToken=None, maxResults=None, startIndex=None)</a></code></p>
 <p class="firstline">Retrieves the results of a query job.</p>
 <p class="toc_element">
   <code><a href="#insert">insert(projectId, body=None, media_body=None)</a></code></p>
@@ -109,16 +109,16 @@
         "state": "A String", # [Output-only] Running state of the job.
         "errors": [ # [Output-only] All errors encountered during the running of the job. Errors here do not necessarily mean that the job has completed or was unsuccessful.
           {
-            "debugInfo": "A String", # Debugging information for the service, if present. Should be ignored.
-            "message": "A String", # A human readable explanation of the error.
-            "reason": "A String", # Specifies the error reason. For example, reason will be "required" or "invalid" if some field was missing or malformed.
+            "debugInfo": "A String", # Debugging information. This property is internal to Google and should not be used.
+            "message": "A String", # A human-readable description of the error.
+            "reason": "A String", # A short error code that summarizes the error.
             "location": "A String", # Specifies where the error occurred, if present.
           },
         ],
         "errorResult": { # [Output-only] Final error result of the job. If present, indicates that the job has completed and was unsuccessful.
-          "debugInfo": "A String", # Debugging information for the service, if present. Should be ignored.
-          "message": "A String", # A human readable explanation of the error.
-          "reason": "A String", # Specifies the error reason. For example, reason will be "required" or "invalid" if some field was missing or malformed.
+          "debugInfo": "A String", # Debugging information. This property is internal to Google and should not be used.
+          "message": "A String", # A human-readable description of the error.
+          "reason": "A String", # A short error code that summarizes the error.
           "location": "A String", # Specifies where the error occurred, if present.
         },
       },
@@ -131,6 +131,8 @@
           "outputBytes": "A String", # [Output-only] Size of the loaded data in bytes. Note that while an import job is in the running state, this value may change.
         },
         "query": { # [Output-only] Statistics for a query job.
+          "completionRatio": 3.14, # [Output-Only] Approximate fraction of data processed for this query. This will be 1.0 unless min_completion_ratio for the query was set to something other than 1.0.
+          "cacheHit": True or False, # [Output-only] Whether the query result was fetched from the query cache.
           "totalBytesProcessed": "A String", # [Output-only] Total bytes processed for this job.
         },
         "endTime": "A String", # [Output-only] End time of this job, in milliseconds since the epoch.
@@ -154,6 +156,7 @@
           },
           "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. Each action is atomic and only occurs if BigQuery is able to fully load the data and the load job completes without error. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists, a 'duplicate' error is returned in the job result. Creation, truncation and append actions occur as one atomic update upon job completion.
           "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when running the job. If the number of bad records exceeds this value, an 'invalid' error is returned in the job result and the job fails. The default value is 0, which requires that all records are valid.
+          "allowJaggedRows": True or False, # [Optional] Accept rows that are missing trailing optional columns. The missing values are treated as nulls. Default is false which treats short rows as errors. Only applicable to CSV, ignored for other formats.
           "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when loading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped.
           "sourceUris": [ # [Required] The fully-qualified URIs that point to your data on Google Cloud Storage.
             "A String",
@@ -169,13 +172,14 @@
                 "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
                   # Object with schema name: TableFieldSchema
                 ],
-                "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates a nested schema).
+                "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
                 "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
                 "name": "A String", # [Required] The field name.
               },
             ],
           },
         },
+        "dryRun": True or False, # [Optional] If set, don't actually run this job. A valid query will return a mostly empty response with some processing statistics, while an invalid query will return the same error it would if it wasn't a dry run. Behavior of non-query jobs is undefined.
         "link": { # [Pick one] Configures a link job.
           "createDisposition": "A String", # [Optional] Whether or not to create a new table, if none exists.
           "writeDisposition": "A String", # [Optional] Whether to overwrite an existing table (WRITE_TRUNCATE), append to an existing table (WRITE_APPEND), or require that the the table is empty (WRITE_EMPTY). Default is WRITE_APPEND.
@@ -189,6 +193,7 @@
           ],
         },
         "query": { # [Pick one] Configures a query job.
+          "useQueryCache": True or False, # [Optional] Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever tables in the query are modified. Moreover, the query cache is only available when a query does not have a destination table specified.
           "defaultDataset": { # [Optional] Specifies the default dataset to assume for unqualified table names in the query.
             "projectId": "A String", # [Optional] The ID of the container project.
             "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
@@ -201,8 +206,9 @@
           "priority": "A String", # [Optional] Specifies a priority for the query. Default is INTERACTIVE. Alternative is BATCH.
           "writeDisposition": "A String", # [Optional] Whether to overwrite an existing table (WRITE_TRUNCATE), append to an existing table (WRITE_APPEND), or require that the the table is empty (WRITE_EMPTY). Default is WRITE_EMPTY.
           "allowLargeResults": True or False, # [Experimental] If true, allows >128M results to be materialized in the destination table. Requires destination_table to be set.
-          "createDisposition": "A String", # [Optional] Whether to create the table if it doesn't already exist (CREATE_IF_NEEDED) or to require the table already exist (CREATE_NEVER). Default is CREATE_IF_NEEDED.
           "query": "A String", # [Required] BigQuery SQL query to execute.
+          "createDisposition": "A String", # [Optional] Whether to create the table if it doesn't already exist (CREATE_IF_NEEDED) or to require the table already exist (CREATE_NEVER). Default is CREATE_IF_NEEDED.
+          "minCompletionRatio": 3.14, # [Experimental] Specifies the the minimum fraction of data that must be scanned before a query returns. This should be specified as a value between 0.0 and 1.0 inclusive. The default value is 1.0.
           "preserveNulls": True or False, # [Experimental] If set, preserve null values in table data, rather than mapping null values to the column's default value. This flag currently defaults to false, but the default will soon be changed to true. Shortly afterward, this flag will be removed completely. Please specify true if possible, and false only if you need to force the old behavior while updating client code.
         },
         "copy": { # [Pick one] Copies a table.
@@ -230,9 +236,6 @@
           },
           "fieldDelimiter": "A String", # [Optional] Delimiter to use between fields in the exported data. Default is ','
         },
-        "properties": { # [Optional] Properties providing extra details about how the job should be run. Not used for most jobs.
-          "a_key": "A String", # Key-value property pairs.
-        },
       },
       "id": "A String", # [Output-only] Opaque ID field of the job
       "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
@@ -240,13 +243,14 @@
 </div>
 
 <div class="method">
-    <code class="details" id="getQueryResults">getQueryResults(projectId, jobId, timeoutMs=None, maxResults=None, startIndex=None)</code>
+    <code class="details" id="getQueryResults">getQueryResults(projectId, jobId, timeoutMs=None, pageToken=None, maxResults=None, startIndex=None)</code>
   <pre>Retrieves the results of a query job.
 
 Args:
   projectId: string, Project ID of the query job (required)
   jobId: string, Job ID of the query job (required)
   timeoutMs: integer, How long to wait for the query to complete, in milliseconds, before returning. Default is to return immediately. If the timeout passes before the job completes, the request will fail with a TIMEOUT error
+  pageToken: string, Page token, returned by a previous call, to request the next page of results
   maxResults: integer, Maximum number of results to read
   startIndex: string, Zero-based index of the starting row
 
@@ -258,7 +262,7 @@
     "rows": [ # An object with as many results as can be contained within the maximum permitted reply size. To get any additional rows, you can call GetQueryResults and specify the jobReference returned above. Present only when the query completes successfully.
       { # Represents a single row in the result set, consisting of one or more fields.
         "f": [
-          { # Represents a single cell in the result set.
+          { # Represents a single cell in the result set. Users of the java client can detect whether their value result is null by calling 'com.google.api.client.util.Data.isNull(cell.getV())'.
             "v": "",
           },
         ],
@@ -268,8 +272,10 @@
       "projectId": "A String", # [Required] Project ID being billed for the job.
       "jobId": "A String", # [Required] ID of the job.
     },
+    "pageToken": "A String", # A token used for paging results.
     "jobComplete": True or False, # Whether the query has completed or not. If rows or totalRows are present, this will always be true. If this is false, totalRows will not be available.
     "totalRows": "A String", # The total number of rows in the complete query result set, which can be more than the number of rows in this single page of results. Present only when the query completes successfully.
+    "cacheHit": True or False, # Whether the query result was fetched from the query cache.
     "etag": "A String", # A hash of this response.
     "schema": { # The schema of the results. Present only when the query completes successfully.
       "fields": [ # Describes the fields in a table.
@@ -277,7 +283,7 @@
           "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
             # Object with schema name: TableFieldSchema
           ],
-          "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates a nested schema).
+          "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
           "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
           "name": "A String", # [Required] The field name.
         },
@@ -300,16 +306,16 @@
       "state": "A String", # [Output-only] Running state of the job.
       "errors": [ # [Output-only] All errors encountered during the running of the job. Errors here do not necessarily mean that the job has completed or was unsuccessful.
         {
-          "debugInfo": "A String", # Debugging information for the service, if present. Should be ignored.
-          "message": "A String", # A human readable explanation of the error.
-          "reason": "A String", # Specifies the error reason. For example, reason will be "required" or "invalid" if some field was missing or malformed.
+          "debugInfo": "A String", # Debugging information. This property is internal to Google and should not be used.
+          "message": "A String", # A human-readable description of the error.
+          "reason": "A String", # A short error code that summarizes the error.
           "location": "A String", # Specifies where the error occurred, if present.
         },
       ],
       "errorResult": { # [Output-only] Final error result of the job. If present, indicates that the job has completed and was unsuccessful.
-        "debugInfo": "A String", # Debugging information for the service, if present. Should be ignored.
-        "message": "A String", # A human readable explanation of the error.
-        "reason": "A String", # Specifies the error reason. For example, reason will be "required" or "invalid" if some field was missing or malformed.
+        "debugInfo": "A String", # Debugging information. This property is internal to Google and should not be used.
+        "message": "A String", # A human-readable description of the error.
+        "reason": "A String", # A short error code that summarizes the error.
         "location": "A String", # Specifies where the error occurred, if present.
       },
     },
@@ -322,6 +328,8 @@
         "outputBytes": "A String", # [Output-only] Size of the loaded data in bytes. Note that while an import job is in the running state, this value may change.
       },
       "query": { # [Output-only] Statistics for a query job.
+        "completionRatio": 3.14, # [Output-Only] Approximate fraction of data processed for this query. This will be 1.0 unless min_completion_ratio for the query was set to something other than 1.0.
+        "cacheHit": True or False, # [Output-only] Whether the query result was fetched from the query cache.
         "totalBytesProcessed": "A String", # [Output-only] Total bytes processed for this job.
       },
       "endTime": "A String", # [Output-only] End time of this job, in milliseconds since the epoch.
@@ -345,6 +353,7 @@
         },
         "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. Each action is atomic and only occurs if BigQuery is able to fully load the data and the load job completes without error. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists, a 'duplicate' error is returned in the job result. Creation, truncation and append actions occur as one atomic update upon job completion.
         "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when running the job. If the number of bad records exceeds this value, an 'invalid' error is returned in the job result and the job fails. The default value is 0, which requires that all records are valid.
+        "allowJaggedRows": True or False, # [Optional] Accept rows that are missing trailing optional columns. The missing values are treated as nulls. Default is false which treats short rows as errors. Only applicable to CSV, ignored for other formats.
         "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when loading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped.
         "sourceUris": [ # [Required] The fully-qualified URIs that point to your data on Google Cloud Storage.
           "A String",
@@ -360,13 +369,14 @@
               "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
                 # Object with schema name: TableFieldSchema
               ],
-              "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates a nested schema).
+              "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
               "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
               "name": "A String", # [Required] The field name.
             },
           ],
         },
       },
+      "dryRun": True or False, # [Optional] If set, don't actually run this job. A valid query will return a mostly empty response with some processing statistics, while an invalid query will return the same error it would if it wasn't a dry run. Behavior of non-query jobs is undefined.
       "link": { # [Pick one] Configures a link job.
         "createDisposition": "A String", # [Optional] Whether or not to create a new table, if none exists.
         "writeDisposition": "A String", # [Optional] Whether to overwrite an existing table (WRITE_TRUNCATE), append to an existing table (WRITE_APPEND), or require that the the table is empty (WRITE_EMPTY). Default is WRITE_APPEND.
@@ -380,6 +390,7 @@
         ],
       },
       "query": { # [Pick one] Configures a query job.
+        "useQueryCache": True or False, # [Optional] Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever tables in the query are modified. Moreover, the query cache is only available when a query does not have a destination table specified.
         "defaultDataset": { # [Optional] Specifies the default dataset to assume for unqualified table names in the query.
           "projectId": "A String", # [Optional] The ID of the container project.
           "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
@@ -392,8 +403,9 @@
         "priority": "A String", # [Optional] Specifies a priority for the query. Default is INTERACTIVE. Alternative is BATCH.
         "writeDisposition": "A String", # [Optional] Whether to overwrite an existing table (WRITE_TRUNCATE), append to an existing table (WRITE_APPEND), or require that the the table is empty (WRITE_EMPTY). Default is WRITE_EMPTY.
         "allowLargeResults": True or False, # [Experimental] If true, allows >128M results to be materialized in the destination table. Requires destination_table to be set.
-        "createDisposition": "A String", # [Optional] Whether to create the table if it doesn't already exist (CREATE_IF_NEEDED) or to require the table already exist (CREATE_NEVER). Default is CREATE_IF_NEEDED.
         "query": "A String", # [Required] BigQuery SQL query to execute.
+        "createDisposition": "A String", # [Optional] Whether to create the table if it doesn't already exist (CREATE_IF_NEEDED) or to require the table already exist (CREATE_NEVER). Default is CREATE_IF_NEEDED.
+        "minCompletionRatio": 3.14, # [Experimental] Specifies the the minimum fraction of data that must be scanned before a query returns. This should be specified as a value between 0.0 and 1.0 inclusive. The default value is 1.0.
         "preserveNulls": True or False, # [Experimental] If set, preserve null values in table data, rather than mapping null values to the column's default value. This flag currently defaults to false, but the default will soon be changed to true. Shortly afterward, this flag will be removed completely. Please specify true if possible, and false only if you need to force the old behavior while updating client code.
       },
       "copy": { # [Pick one] Copies a table.
@@ -421,9 +433,6 @@
         },
         "fieldDelimiter": "A String", # [Optional] Delimiter to use between fields in the exported data. Default is ','
       },
-      "properties": { # [Optional] Properties providing extra details about how the job should be run. Not used for most jobs.
-        "a_key": "A String", # Key-value property pairs.
-      },
     },
     "id": "A String", # [Output-only] Opaque ID field of the job
     "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
@@ -439,16 +448,16 @@
         "state": "A String", # [Output-only] Running state of the job.
         "errors": [ # [Output-only] All errors encountered during the running of the job. Errors here do not necessarily mean that the job has completed or was unsuccessful.
           {
-            "debugInfo": "A String", # Debugging information for the service, if present. Should be ignored.
-            "message": "A String", # A human readable explanation of the error.
-            "reason": "A String", # Specifies the error reason. For example, reason will be "required" or "invalid" if some field was missing or malformed.
+            "debugInfo": "A String", # Debugging information. This property is internal to Google and should not be used.
+            "message": "A String", # A human-readable description of the error.
+            "reason": "A String", # A short error code that summarizes the error.
             "location": "A String", # Specifies where the error occurred, if present.
           },
         ],
         "errorResult": { # [Output-only] Final error result of the job. If present, indicates that the job has completed and was unsuccessful.
-          "debugInfo": "A String", # Debugging information for the service, if present. Should be ignored.
-          "message": "A String", # A human readable explanation of the error.
-          "reason": "A String", # Specifies the error reason. For example, reason will be "required" or "invalid" if some field was missing or malformed.
+          "debugInfo": "A String", # Debugging information. This property is internal to Google and should not be used.
+          "message": "A String", # A human-readable description of the error.
+          "reason": "A String", # A short error code that summarizes the error.
           "location": "A String", # Specifies where the error occurred, if present.
         },
       },
@@ -461,6 +470,8 @@
           "outputBytes": "A String", # [Output-only] Size of the loaded data in bytes. Note that while an import job is in the running state, this value may change.
         },
         "query": { # [Output-only] Statistics for a query job.
+          "completionRatio": 3.14, # [Output-Only] Approximate fraction of data processed for this query. This will be 1.0 unless min_completion_ratio for the query was set to something other than 1.0.
+          "cacheHit": True or False, # [Output-only] Whether the query result was fetched from the query cache.
           "totalBytesProcessed": "A String", # [Output-only] Total bytes processed for this job.
         },
         "endTime": "A String", # [Output-only] End time of this job, in milliseconds since the epoch.
@@ -484,6 +495,7 @@
           },
           "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. Each action is atomic and only occurs if BigQuery is able to fully load the data and the load job completes without error. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists, a 'duplicate' error is returned in the job result. Creation, truncation and append actions occur as one atomic update upon job completion.
           "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when running the job. If the number of bad records exceeds this value, an 'invalid' error is returned in the job result and the job fails. The default value is 0, which requires that all records are valid.
+          "allowJaggedRows": True or False, # [Optional] Accept rows that are missing trailing optional columns. The missing values are treated as nulls. Default is false which treats short rows as errors. Only applicable to CSV, ignored for other formats.
           "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when loading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped.
           "sourceUris": [ # [Required] The fully-qualified URIs that point to your data on Google Cloud Storage.
             "A String",
@@ -499,13 +511,14 @@
                 "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
                   # Object with schema name: TableFieldSchema
                 ],
-                "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates a nested schema).
+                "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
                 "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
                 "name": "A String", # [Required] The field name.
               },
             ],
           },
         },
+        "dryRun": True or False, # [Optional] If set, don't actually run this job. A valid query will return a mostly empty response with some processing statistics, while an invalid query will return the same error it would if it wasn't a dry run. Behavior of non-query jobs is undefined.
         "link": { # [Pick one] Configures a link job.
           "createDisposition": "A String", # [Optional] Whether or not to create a new table, if none exists.
           "writeDisposition": "A String", # [Optional] Whether to overwrite an existing table (WRITE_TRUNCATE), append to an existing table (WRITE_APPEND), or require that the the table is empty (WRITE_EMPTY). Default is WRITE_APPEND.
@@ -519,6 +532,7 @@
           ],
         },
         "query": { # [Pick one] Configures a query job.
+          "useQueryCache": True or False, # [Optional] Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever tables in the query are modified. Moreover, the query cache is only available when a query does not have a destination table specified.
           "defaultDataset": { # [Optional] Specifies the default dataset to assume for unqualified table names in the query.
             "projectId": "A String", # [Optional] The ID of the container project.
             "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
@@ -531,8 +545,9 @@
           "priority": "A String", # [Optional] Specifies a priority for the query. Default is INTERACTIVE. Alternative is BATCH.
           "writeDisposition": "A String", # [Optional] Whether to overwrite an existing table (WRITE_TRUNCATE), append to an existing table (WRITE_APPEND), or require that the the table is empty (WRITE_EMPTY). Default is WRITE_EMPTY.
           "allowLargeResults": True or False, # [Experimental] If true, allows >128M results to be materialized in the destination table. Requires destination_table to be set.
-          "createDisposition": "A String", # [Optional] Whether to create the table if it doesn't already exist (CREATE_IF_NEEDED) or to require the table already exist (CREATE_NEVER). Default is CREATE_IF_NEEDED.
           "query": "A String", # [Required] BigQuery SQL query to execute.
+          "createDisposition": "A String", # [Optional] Whether to create the table if it doesn't already exist (CREATE_IF_NEEDED) or to require the table already exist (CREATE_NEVER). Default is CREATE_IF_NEEDED.
+          "minCompletionRatio": 3.14, # [Experimental] Specifies the the minimum fraction of data that must be scanned before a query returns. This should be specified as a value between 0.0 and 1.0 inclusive. The default value is 1.0.
           "preserveNulls": True or False, # [Experimental] If set, preserve null values in table data, rather than mapping null values to the column's default value. This flag currently defaults to false, but the default will soon be changed to true. Shortly afterward, this flag will be removed completely. Please specify true if possible, and false only if you need to force the old behavior while updating client code.
         },
         "copy": { # [Pick one] Copies a table.
@@ -560,9 +575,6 @@
           },
           "fieldDelimiter": "A String", # [Optional] Delimiter to use between fields in the exported data. Default is ','
         },
-        "properties": { # [Optional] Properties providing extra details about how the job should be run. Not used for most jobs.
-          "a_key": "A String", # Key-value property pairs.
-        },
       },
       "id": "A String", # [Output-only] Opaque ID field of the job
       "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
@@ -602,16 +614,16 @@
           "state": "A String", # [Output-only] Running state of the job.
           "errors": [ # [Output-only] All errors encountered during the running of the job. Errors here do not necessarily mean that the job has completed or was unsuccessful.
             {
-              "debugInfo": "A String", # Debugging information for the service, if present. Should be ignored.
-              "message": "A String", # A human readable explanation of the error.
-              "reason": "A String", # Specifies the error reason. For example, reason will be "required" or "invalid" if some field was missing or malformed.
+              "debugInfo": "A String", # Debugging information. This property is internal to Google and should not be used.
+              "message": "A String", # A human-readable description of the error.
+              "reason": "A String", # A short error code that summarizes the error.
               "location": "A String", # Specifies where the error occurred, if present.
             },
           ],
           "errorResult": { # [Output-only] Final error result of the job. If present, indicates that the job has completed and was unsuccessful.
-            "debugInfo": "A String", # Debugging information for the service, if present. Should be ignored.
-            "message": "A String", # A human readable explanation of the error.
-            "reason": "A String", # Specifies the error reason. For example, reason will be "required" or "invalid" if some field was missing or malformed.
+            "debugInfo": "A String", # Debugging information. This property is internal to Google and should not be used.
+            "message": "A String", # A human-readable description of the error.
+            "reason": "A String", # A short error code that summarizes the error.
             "location": "A String", # Specifies where the error occurred, if present.
           },
         },
@@ -624,6 +636,8 @@
             "outputBytes": "A String", # [Output-only] Size of the loaded data in bytes. Note that while an import job is in the running state, this value may change.
           },
           "query": { # [Output-only] Statistics for a query job.
+            "completionRatio": 3.14, # [Output-Only] Approximate fraction of data processed for this query. This will be 1.0 unless min_completion_ratio for the query was set to something other than 1.0.
+            "cacheHit": True or False, # [Output-only] Whether the query result was fetched from the query cache.
             "totalBytesProcessed": "A String", # [Output-only] Total bytes processed for this job.
           },
           "endTime": "A String", # [Output-only] End time of this job, in milliseconds since the epoch.
@@ -647,6 +661,7 @@
             },
             "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. Each action is atomic and only occurs if BigQuery is able to fully load the data and the load job completes without error. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists, a 'duplicate' error is returned in the job result. Creation, truncation and append actions occur as one atomic update upon job completion.
             "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when running the job. If the number of bad records exceeds this value, an 'invalid' error is returned in the job result and the job fails. The default value is 0, which requires that all records are valid.
+            "allowJaggedRows": True or False, # [Optional] Accept rows that are missing trailing optional columns. The missing values are treated as nulls. Default is false which treats short rows as errors. Only applicable to CSV, ignored for other formats.
             "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when loading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped.
             "sourceUris": [ # [Required] The fully-qualified URIs that point to your data on Google Cloud Storage.
               "A String",
@@ -662,13 +677,14 @@
                   "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
                     # Object with schema name: TableFieldSchema
                   ],
-                  "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates a nested schema).
+                  "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
                   "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
                   "name": "A String", # [Required] The field name.
                 },
               ],
             },
           },
+          "dryRun": True or False, # [Optional] If set, don't actually run this job. A valid query will return a mostly empty response with some processing statistics, while an invalid query will return the same error it would if it wasn't a dry run. Behavior of non-query jobs is undefined.
           "link": { # [Pick one] Configures a link job.
             "createDisposition": "A String", # [Optional] Whether or not to create a new table, if none exists.
             "writeDisposition": "A String", # [Optional] Whether to overwrite an existing table (WRITE_TRUNCATE), append to an existing table (WRITE_APPEND), or require that the the table is empty (WRITE_EMPTY). Default is WRITE_APPEND.
@@ -682,6 +698,7 @@
             ],
           },
           "query": { # [Pick one] Configures a query job.
+            "useQueryCache": True or False, # [Optional] Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever tables in the query are modified. Moreover, the query cache is only available when a query does not have a destination table specified.
             "defaultDataset": { # [Optional] Specifies the default dataset to assume for unqualified table names in the query.
               "projectId": "A String", # [Optional] The ID of the container project.
               "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
@@ -694,8 +711,9 @@
             "priority": "A String", # [Optional] Specifies a priority for the query. Default is INTERACTIVE. Alternative is BATCH.
             "writeDisposition": "A String", # [Optional] Whether to overwrite an existing table (WRITE_TRUNCATE), append to an existing table (WRITE_APPEND), or require that the the table is empty (WRITE_EMPTY). Default is WRITE_EMPTY.
             "allowLargeResults": True or False, # [Experimental] If true, allows >128M results to be materialized in the destination table. Requires destination_table to be set.
-            "createDisposition": "A String", # [Optional] Whether to create the table if it doesn't already exist (CREATE_IF_NEEDED) or to require the table already exist (CREATE_NEVER). Default is CREATE_IF_NEEDED.
             "query": "A String", # [Required] BigQuery SQL query to execute.
+            "createDisposition": "A String", # [Optional] Whether to create the table if it doesn't already exist (CREATE_IF_NEEDED) or to require the table already exist (CREATE_NEVER). Default is CREATE_IF_NEEDED.
+            "minCompletionRatio": 3.14, # [Experimental] Specifies the the minimum fraction of data that must be scanned before a query returns. This should be specified as a value between 0.0 and 1.0 inclusive. The default value is 1.0.
             "preserveNulls": True or False, # [Experimental] If set, preserve null values in table data, rather than mapping null values to the column's default value. This flag currently defaults to false, but the default will soon be changed to true. Shortly afterward, this flag will be removed completely. Please specify true if possible, and false only if you need to force the old behavior while updating client code.
           },
           "copy": { # [Pick one] Copies a table.
@@ -723,15 +741,12 @@
             },
             "fieldDelimiter": "A String", # [Optional] Delimiter to use between fields in the exported data. Default is ','
           },
-          "properties": { # [Optional] Properties providing extra details about how the job should be run. Not used for most jobs.
-            "a_key": "A String", # Key-value property pairs.
-          },
         },
         "id": "A String", # Unique opaque ID of the job.
         "errorResult": { # A result object that will be present only if the job has failed.
-          "debugInfo": "A String", # Debugging information for the service, if present. Should be ignored.
-          "message": "A String", # A human readable explanation of the error.
-          "reason": "A String", # Specifies the error reason. For example, reason will be "required" or "invalid" if some field was missing or malformed.
+          "debugInfo": "A String", # Debugging information. This property is internal to Google and should not be used.
+          "message": "A String", # A human-readable description of the error.
+          "reason": "A String", # A short error code that summarizes the error.
           "location": "A String", # Specifies where the error occurred, if present.
         },
       },
@@ -766,12 +781,14 @@
     "timeoutMs": 42, # [Optional] How long to wait for the query to complete, in milliseconds, before returning. Default is to return immediately. If the timeout passes before the job completes, the request will fail with a TIMEOUT error.
     "kind": "bigquery#queryRequest", # The resource type of the request.
     "dryRun": True or False, # [Optional] If set, don't actually run the query. A valid query will return an empty response, while an invalid query will return the same error it would if it wasn't a dry run.
+    "useQueryCache": True or False, # [Optional] Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever tables in the query are modified.
     "defaultDataset": { # [Optional] Specifies the default datasetId and projectId to assume for any unqualified table names in the query. If not set, all table names in the query string must be fully-qualified in the format projectId:datasetId.tableid.
       "projectId": "A String", # [Optional] The ID of the container project.
       "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
     },
     "maxResults": 42, # [Optional] The maximum number of results to return per page of results. If the response list exceeds the maximum response size for a single response, you will have to page through the results. Default is to return the maximum response size.
     "query": "A String", # [Required] A query string, following the BigQuery query syntax of the query to execute. Table names should be qualified by dataset name in the format projectId:datasetId.tableId unless you specify the defaultDataset value. If the table is in the same project as the job, you can omit the project ID. Example: SELECT f1 FROM myProjectId:myDatasetId.myTableId.
+    "minCompletionRatio": 3.14, # [Experimental] Specifies the the minimum fraction of data that must be scanned before a query returns. This should be specified as a value between 0.0 and 1.0 inclusive. The default value is 1.0.
     "preserveNulls": True or False, # [Experimental] If set, preserve null values in table data, rather than mapping null values to the column's default value. This flag currently defaults to false, but the default will soon be changed to true. Shortly afterward, this flag will be removed completely. Please specify true if possible, and false only if you need to force the old behavior while updating client code.
   }
 
@@ -784,7 +801,7 @@
     "rows": [ # An object with as many results as can be contained within the maximum permitted reply size. To get any additional rows, you can call GetQueryResults and specify the jobReference returned above.
       { # Represents a single row in the result set, consisting of one or more fields.
         "f": [
-          { # Represents a single cell in the result set.
+          { # Represents a single cell in the result set. Users of the java client can detect whether their value result is null by calling 'com.google.api.client.util.Data.isNull(cell.getV())'.
             "v": "",
           },
         ],
@@ -794,15 +811,18 @@
       "projectId": "A String", # [Required] Project ID being billed for the job.
       "jobId": "A String", # [Required] ID of the job.
     },
+    "pageToken": "A String", # A token used for paging results.
     "jobComplete": True or False, # Whether the query has completed or not. If rows or totalRows are present, this will always be true. If this is false, totalRows will not be available.
     "totalRows": "A String", # The total number of rows in the complete query result set, which can be more than the number of rows in this single page of results.
+    "totalBytesProcessed": "A String", # The total number of bytes processed for this query. If this query was a dry run, this is the number of bytes that would be processed if the query were run.
+    "cacheHit": True or False, # Whether the query result was fetched from the query cache.
     "schema": { # The schema of the results. Present only when the query completes successfully.
       "fields": [ # Describes the fields in a table.
         {
           "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
             # Object with schema name: TableFieldSchema
           ],
-          "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates a nested schema).
+          "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
           "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
           "name": "A String", # [Required] The field name.
         },
diff --git a/docs/dyn/bigquery_v2.projects.html b/docs/dyn/bigquery_v2.projects.html
index 2f06826..df10a23 100644
--- a/docs/dyn/bigquery_v2.projects.html
+++ b/docs/dyn/bigquery_v2.projects.html
@@ -101,6 +101,7 @@
       {
         "friendlyName": "A String", # A descriptive name for this project.
         "kind": "bigquery#project", # The resource type.
+        "numericId": "A String", # The numeric ID of this project.
         "id": "A String", # An opaque ID of this project.
         "projectReference": { # A unique reference to this project.
           "projectId": "A String", # [Required] ID of the project. Can be either the numeric ID or the assigned ID of the project.
diff --git a/docs/dyn/bigquery_v2.tabledata.html b/docs/dyn/bigquery_v2.tabledata.html
index a1e3323..d63b287 100644
--- a/docs/dyn/bigquery_v2.tabledata.html
+++ b/docs/dyn/bigquery_v2.tabledata.html
@@ -100,7 +100,7 @@
     "rows": [ # Rows of results.
       { # Represents a single row in the result set, consisting of one or more fields.
         "f": [
-          { # Represents a single cell in the result set.
+          { # Represents a single cell in the result set. Users of the java client can detect whether their value result is null by calling 'com.google.api.client.util.Data.isNull(cell.getV())'.
             "v": "",
           },
         ],
diff --git a/docs/dyn/bigquery_v2.tables.html b/docs/dyn/bigquery_v2.tables.html
index ac288cc..c3248fe 100644
--- a/docs/dyn/bigquery_v2.tables.html
+++ b/docs/dyn/bigquery_v2.tables.html
@@ -142,7 +142,7 @@
             "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
               # Object with schema name: TableFieldSchema
             ],
-            "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates a nested schema).
+            "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
             "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
             "name": "A String", # [Required] The field name.
           },
@@ -184,7 +184,7 @@
           "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
             # Object with schema name: TableFieldSchema
           ],
-          "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates a nested schema).
+          "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
           "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
           "name": "A String", # [Required] The field name.
         },
@@ -219,7 +219,7 @@
             "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
               # Object with schema name: TableFieldSchema
             ],
-            "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates a nested schema).
+            "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
             "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
             "name": "A String", # [Required] The field name.
           },
@@ -309,7 +309,7 @@
           "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
             # Object with schema name: TableFieldSchema
           ],
-          "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates a nested schema).
+          "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
           "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
           "name": "A String", # [Required] The field name.
         },
@@ -344,7 +344,7 @@
             "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
               # Object with schema name: TableFieldSchema
             ],
-            "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates a nested schema).
+            "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
             "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
             "name": "A String", # [Required] The field name.
           },
@@ -387,7 +387,7 @@
           "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
             # Object with schema name: TableFieldSchema
           ],
-          "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates a nested schema).
+          "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
           "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
           "name": "A String", # [Required] The field name.
         },
@@ -422,7 +422,7 @@
             "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD.
               # Object with schema name: TableFieldSchema
             ],
-            "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates a nested schema).
+            "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema).
             "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
             "name": "A String", # [Required] The field name.
           },
diff --git a/docs/dyn/blogger_v3.blogUserInfos.html b/docs/dyn/blogger_v3.blogUserInfos.html
new file mode 100644
index 0000000..e8a58ec
--- /dev/null
+++ b/docs/dyn/blogger_v3.blogUserInfos.html
@@ -0,0 +1,192 @@
+<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="blogger_v3.html">Blogger API</a> . <a href="blogger_v3.blogUserInfos.html">blogUserInfos</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(userId, blogId, maxPosts=None)</a></code></p>
+<p class="firstline">Gets one blog and user info pair by blogId and userId.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(userId, blogId, maxPosts=None)</code>
+  <pre>Gets one blog and user info pair by blogId and userId.
+
+Args:
+  userId: string, ID of the user whose blogs are to be fetched. Either the word 'self' (sans quote marks) or the user's profile identifier. (required)
+  blogId: string, The ID of the blog to get. (required)
+  maxPosts: integer, Maximum number of posts to pull back with the blog.
+
+Returns:
+  An object of the form:
+
+    {
+    "blog": {
+      "kind": "blogger#blog", # The kind of this entry. Always blogger#blog
+      "description": "A String", # The description of this blog. This is displayed underneath the title.
+      "locale": { # The locale this Blog is set to.
+        "country": "A String", # The country this blog's locale is set to.
+        "variant": "A String", # The language variant this blog is authored in.
+        "language": "A String", # The language this blog is authored in.
+      },
+      "posts": { # The container of posts in this blog.
+        "totalItems": 42, # The count of posts in this blog.
+        "items": [ # The List of Posts for this Blog.
+          {
+            "content": "A String", # The content of the Post. May contain HTML markup.
+            "kind": "blogger#post", # The kind of this entity. Always blogger#post
+            "author": { # The author of this Post.
+              "url": "A String", # The URL of the Post creator's Profile page.
+              "image": { # The Post author's avatar.
+                "url": "A String", # The Post author's avatar URL.
+              },
+              "displayName": "A String", # The display name.
+              "id": "A String", # The identifier of the Post creator.
+            },
+            "replies": { # The container of comments on this Post.
+              "totalItems": "A String", # The count of comments on this post.
+              "items": [ # The List of Comments for this Post.
+                {
+                  "content": "A String", # The actual content of the comment. May include HTML markup.
+                  "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
+                  "inReplyTo": { # Data about the comment this is in reply to.
+                    "id": "A String", # The identified of the parent of this comment.
+                  },
+                  "author": { # The author of this Comment.
+                    "url": "A String", # The URL of the Comment creator's Profile page.
+                    "image": { # The comment creator's avatar.
+                      "url": "A String", # The comment creator's avatar URL.
+                    },
+                    "displayName": "A String", # The display name.
+                    "id": "A String", # The identifier of the Comment creator.
+                  },
+                  "updated": "A String", # RFC 3339 date-time when this comment was last updated.
+                  "blog": { # Data about the blog containing this comment.
+                    "id": "A String", # The identifier of the blog containing this comment.
+                  },
+                  "published": "A String", # RFC 3339 date-time when this comment was published.
+                  "post": { # Data about the post containing this comment.
+                    "id": "A String", # The identifier of the post containing this comment.
+                  },
+                  "id": "A String", # The identifier for this resource.
+                  "selfLink": "A String", # The API REST URL to fetch this resource from.
+                },
+              ],
+              "selfLink": "A String", # The URL of the comments on this post.
+            },
+            "labels": [ # The list of labels this Post was tagged with.
+              "A String",
+            ],
+            "customMetaData": "A String", # The JSON meta-data for the Post.
+            "updated": "A String", # RFC 3339 date-time when this Post was last updated.
+            "blog": { # Data about the blog containing this Post.
+              "id": "A String", # The identifier of the Blog that contains this Post.
+            },
+            "url": "A String", # The URL where this Post is displayed.
+            "location": { # The location for geotagged posts.
+              "lat": 3.14, # Location's latitude.
+              "lng": 3.14, # Location's longitude.
+              "span": "A String", # Location's viewport span. Can be used when rendering a map preview.
+              "name": "A String", # Location name.
+            },
+            "published": "A String", # RFC 3339 date-time when this Post was published.
+            "title": "A String", # The title of the Post.
+            "id": "A String", # The identifier of this Post.
+            "selfLink": "A String", # The API REST URL to fetch this resource from.
+          },
+        ],
+        "selfLink": "A String", # The URL of the container for posts in this blog.
+      },
+      "customMetaData": "A String", # The JSON custom meta-data for the Blog
+      "updated": "A String", # RFC 3339 date-time when this blog was last updated.
+      "pages": { # The container of pages in this blog.
+        "totalItems": 42, # The count of pages in this blog.
+        "selfLink": "A String", # The URL of the container for pages in this blog.
+      },
+      "url": "A String", # The URL where this blog is published.
+      "published": "A String", # RFC 3339 date-time when this blog was published.
+      "id": "A String", # The identifier for this resource.
+      "selfLink": "A String", # The API REST URL to fetch this resource from.
+      "name": "A String", # The name of this blog. This is displayed as the title.
+    },
+    "kind": "blogger#blogUserInfo",
+    "user": {
+      "kind": "blogger#blogPerUserInfo",
+      "userId": "A String",
+      "blogId": "A String",
+      "photosAlbumKey": "A String",
+    },
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger_v3.html b/docs/dyn/blogger_v3.html
index 7389cb1..e0b84e2 100644
--- a/docs/dyn/blogger_v3.html
+++ b/docs/dyn/blogger_v3.html
@@ -75,6 +75,11 @@
 <h1><a href="blogger_v3.html">Blogger API</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="blogger_v3.blogUserInfos.html">blogUserInfos()</a></code>
+</p>
+<p class="firstline">Returns the blogUserInfos Resource.</p>
+
+<p class="toc_element">
   <code><a href="blogger_v3.blogs.html">blogs()</a></code>
 </p>
 <p class="firstline">Returns the blogs Resource.</p>
diff --git a/docs/dyn/blogger_v3.posts.html b/docs/dyn/blogger_v3.posts.html
index 631a466..57f0d64 100644
--- a/docs/dyn/blogger_v3.posts.html
+++ b/docs/dyn/blogger_v3.posts.html
@@ -269,7 +269,7 @@
   <pre>Add a post.
 
 Args:
-  blogId: string, ID of the blog to fetch the post from. (required)
+  blogId: string, ID of the blog to add the post to. (required)
   body: object, The request body. (required)
     The object takes the form of:
 
diff --git a/docs/dyn/books_v1.bookshelves.volumes.html b/docs/dyn/books_v1.bookshelves.volumes.html
index a5a30aa..cea2756 100644
--- a/docs/dyn/books_v1.bookshelves.volumes.html
+++ b/docs/dyn/books_v1.bookshelves.volumes.html
@@ -142,7 +142,24 @@
             "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
           },
           "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
-          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FREE, NOT_FOR_SALE, or FOR_PREORDER.
+          "offers": [ # Offers available for this volume (sales and rentals).
+            {
+              "rentalDuration": { # The rental duration (for rental offers only).
+                "count": 3.14,
+                "unit": "A String",
+              },
+              "retailPrice": { # Offer retail (=discounted) price in Micros
+                "currencyCode": "A String",
+                "amountInMicros": 3.14,
+              },
+              "listPrice": { # Offer list (=undiscounted) price in Micros.
+                "currencyCode": "A String",
+                "amountInMicros": 3.14,
+              },
+              "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
+            },
+          ],
+          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
           "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
           "onSaleDate": "A String", # The date on which this book is available for sale.
           "listPrice": { # Suggested retail price. (In LITE projection.)
@@ -208,7 +225,25 @@
         },
         "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
           "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
+          "rentalPeriod": { # Period during this book is/was a valid rental.
+            "startUtcSec": "A String",
+            "endUtcSec": "A String",
+          },
           "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
+          "userUploadedVolumeInfo": {
+            "processingState": "A String",
+          },
+          "rentalState": "A String", # Whether this book is an active or an expired rental.
+          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
+          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
+            "kind": "books#readingPosition", # Resource type for a reading position.
+            "gbImagePosition": "A String", # Position in a volume for image-based content.
+            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
+            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
+            "volumeId": "A String", # Volume id associated with this reading position.
+            "pdfPosition": "A String", # Position in a PDF file.
+            "gbTextPosition": "A String", # Position in a volume for text-based content.
+          },
           "review": { # This user's review of this volume, if one exists.
             "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
             "kind": "books#review", # Resource type for a review.
@@ -227,17 +262,14 @@
             "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
             "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
           },
-          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
-          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
-            "kind": "books#readingPosition", # Resource type for a reading position.
-            "gbImagePosition": "A String", # Position in a volume for image-based content.
-            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
-            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
-            "volumeId": "A String", # Volume id associated with this reading position.
-            "pdfPosition": "A String", # Position in a PDF file.
-            "gbTextPosition": "A String", # Position in a volume for text-based content.
-          },
           "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
+          "copy": { # Copy/Paste accounting information.
+            "limitType": "A String",
+            "remainingCharacterCount": 42,
+            "updated": "A String",
+            "allowedCharacterCount": 42,
+          },
+          "isUploaded": True or False, # Whether or not this volume was user uploaded.
         },
       },
     ],
diff --git a/docs/dyn/books_v1.cloudloading.html b/docs/dyn/books_v1.cloudloading.html
new file mode 100644
index 0000000..7ab41fb
--- /dev/null
+++ b/docs/dyn/books_v1.cloudloading.html
@@ -0,0 +1,144 @@
+<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="books_v1.html">Books API</a> . <a href="books_v1.cloudloading.html">cloudloading</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#addBook">addBook(upload_client_token=None, name=None, drive_document_id=None, mime_type=None)</a></code></p>
+<p class="firstline"></p>
+<p class="toc_element">
+  <code><a href="#deleteBook">deleteBook(volumeId)</a></code></p>
+<p class="firstline">Remove the book and its contents</p>
+<p class="toc_element">
+  <code><a href="#updateBook">updateBook(body)</a></code></p>
+<p class="firstline"></p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="addBook">addBook(upload_client_token=None, name=None, drive_document_id=None, mime_type=None)</code>
+  <pre>
+
+Args:
+  upload_client_token: string, A parameter
+  name: string, The document name. It can be set only if the drive_document_id is set.
+  drive_document_id: string, A drive document id. The upload_client_token must not be set.
+  mime_type: string, The document MIME type. It can be set only if the drive_document_id is set.
+
+Returns:
+  An object of the form:
+
+    {
+    "title": "A String",
+    "processingState": "A String",
+    "volumeId": "A String",
+    "author": "A String",
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="deleteBook">deleteBook(volumeId)</code>
+  <pre>Remove the book and its contents
+
+Args:
+  volumeId: string, The id of the book to be removed. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="updateBook">updateBook(body)</code>
+  <pre>
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+  "title": "A String",
+  "processingState": "A String",
+  "volumeId": "A String",
+  "author": "A String",
+}
+
+
+Returns:
+  An object of the form:
+
+    {
+    "title": "A String",
+    "processingState": "A String",
+    "volumeId": "A String",
+    "author": "A String",
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.html b/docs/dyn/books_v1.html
index af94b97..4adb450 100644
--- a/docs/dyn/books_v1.html
+++ b/docs/dyn/books_v1.html
@@ -80,6 +80,11 @@
 <p class="firstline">Returns the bookshelves Resource.</p>
 
 <p class="toc_element">
+  <code><a href="books_v1.cloudloading.html">cloudloading()</a></code>
+</p>
+<p class="firstline">Returns the cloudloading Resource.</p>
+
+<p class="toc_element">
   <code><a href="books_v1.layers.html">layers()</a></code>
 </p>
 <p class="firstline">Returns the layers Resource.</p>
diff --git a/docs/dyn/books_v1.myconfig.html b/docs/dyn/books_v1.myconfig.html
index f81aacd..f5d3ab1 100644
--- a/docs/dyn/books_v1.myconfig.html
+++ b/docs/dyn/books_v1.myconfig.html
@@ -81,7 +81,7 @@
   <code><a href="#requestAccess">requestAccess(source, volumeId, nonce, cpksver, locale=None)</a></code></p>
 <p class="firstline">Request concurrent and download access restrictions.</p>
 <p class="toc_element">
-  <code><a href="#syncVolumeLicenses">syncVolumeLicenses(source, nonce, cpksver, locale=None, showPreorders=None, volumeIds=None)</a></code></p>
+  <code><a href="#syncVolumeLicenses">syncVolumeLicenses(source, nonce, cpksver, features=None, locale=None, showPreorders=None, volumeIds=None)</a></code></p>
 <p class="firstline">Request downloaded content access for specified volumes on the My eBooks shelf.</p>
 <h3>Method Details</h3>
 <div class="method">
@@ -165,13 +165,16 @@
 </div>
 
 <div class="method">
-    <code class="details" id="syncVolumeLicenses">syncVolumeLicenses(source, nonce, cpksver, locale=None, showPreorders=None, volumeIds=None)</code>
+    <code class="details" id="syncVolumeLicenses">syncVolumeLicenses(source, nonce, cpksver, features=None, locale=None, showPreorders=None, volumeIds=None)</code>
   <pre>Request downloaded content access for specified volumes on the My eBooks shelf.
 
 Args:
   source: string, String to identify the originator of this request. (required)
   nonce: string, The client nonce value. (required)
   cpksver: string, The device/version ID from which to release the restriction. (required)
+  features: string, List of features supported by the client, i.e., 'RENTALS' (repeated)
+    Allowed values
+      RENTALS - Client supports rentals.
   locale: string, ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.
   showPreorders: boolean, Set to true to show pre-ordered books. Defaults to false.
   volumeIds: string, The volume(s) to request download restrictions for. (repeated)
@@ -228,7 +231,24 @@
             "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
           },
           "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
-          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FREE, NOT_FOR_SALE, or FOR_PREORDER.
+          "offers": [ # Offers available for this volume (sales and rentals).
+            {
+              "rentalDuration": { # The rental duration (for rental offers only).
+                "count": 3.14,
+                "unit": "A String",
+              },
+              "retailPrice": { # Offer retail (=discounted) price in Micros
+                "currencyCode": "A String",
+                "amountInMicros": 3.14,
+              },
+              "listPrice": { # Offer list (=undiscounted) price in Micros.
+                "currencyCode": "A String",
+                "amountInMicros": 3.14,
+              },
+              "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
+            },
+          ],
+          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
           "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
           "onSaleDate": "A String", # The date on which this book is available for sale.
           "listPrice": { # Suggested retail price. (In LITE projection.)
@@ -294,7 +314,25 @@
         },
         "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
           "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
+          "rentalPeriod": { # Period during this book is/was a valid rental.
+            "startUtcSec": "A String",
+            "endUtcSec": "A String",
+          },
           "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
+          "userUploadedVolumeInfo": {
+            "processingState": "A String",
+          },
+          "rentalState": "A String", # Whether this book is an active or an expired rental.
+          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
+          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
+            "kind": "books#readingPosition", # Resource type for a reading position.
+            "gbImagePosition": "A String", # Position in a volume for image-based content.
+            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
+            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
+            "volumeId": "A String", # Volume id associated with this reading position.
+            "pdfPosition": "A String", # Position in a PDF file.
+            "gbTextPosition": "A String", # Position in a volume for text-based content.
+          },
           "review": { # This user's review of this volume, if one exists.
             "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
             "kind": "books#review", # Resource type for a review.
@@ -313,17 +351,14 @@
             "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
             "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
           },
-          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
-          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
-            "kind": "books#readingPosition", # Resource type for a reading position.
-            "gbImagePosition": "A String", # Position in a volume for image-based content.
-            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
-            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
-            "volumeId": "A String", # Volume id associated with this reading position.
-            "pdfPosition": "A String", # Position in a PDF file.
-            "gbTextPosition": "A String", # Position in a volume for text-based content.
-          },
           "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
+          "copy": { # Copy/Paste accounting information.
+            "limitType": "A String",
+            "remainingCharacterCount": 42,
+            "updated": "A String",
+            "allowedCharacterCount": 42,
+          },
+          "isUploaded": True or False, # Whether or not this volume was user uploaded.
         },
       },
     ],
diff --git a/docs/dyn/books_v1.mylibrary.annotations.html b/docs/dyn/books_v1.mylibrary.annotations.html
index 69c36a7..b2da444 100644
--- a/docs/dyn/books_v1.mylibrary.annotations.html
+++ b/docs/dyn/books_v1.mylibrary.annotations.html
@@ -81,7 +81,7 @@
   <code><a href="#get">get(annotationId, source=None)</a></code></p>
 <p class="firstline">Gets an annotation by its ID.</p>
 <p class="toc_element">
-  <code><a href="#insert">insert(body, source=None)</a></code></p>
+  <code><a href="#insert">insert(body, source=None, showOnlySummaryInResponse=None)</a></code></p>
 <p class="firstline">Inserts a new annotation.</p>
 <p class="toc_element">
   <code><a href="#list">list(pageToken=None, updatedMax=None, layerId=None, volumeId=None, maxResults=None, showDeleted=None, pageIds=None, contentVersion=None, source=None, updatedMin=None)</a></code></p>
@@ -90,6 +90,9 @@
   <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="#summary">summary(layerIds, volumeId)</a></code></p>
+<p class="firstline">Gets the summary of specified layers.</p>
+<p class="toc_element">
   <code><a href="#update">update(annotationId, body, source=None)</a></code></p>
 <p class="firstline">Updates an existing annotation.</p>
 <h3>Method Details</h3>
@@ -119,7 +122,7 @@
       "updated": "A String", # Timestamp for the last time this annotation was modified.
       "created": "A String", # Timestamp for the created time of this annotation.
       "deleted": True or False, # Indicates that this annotation is deleted.
-      "beforeSelectedText": "A String", # Anchor text before excerpt.
+      "beforeSelectedText": "A String", # Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
       "currentVersionRanges": { # Selection ranges for the most recent content version.
         "contentVersion": "A String", # Content version applicable to ranges below.
         "gbTextRange": { # Range in GB text format for this annotation for version above.
@@ -134,6 +137,12 @@
           "startOffset": "A String", # The offset from the starting position.
           "endOffset": "A String", # The offset from the ending position.
         },
+        "imageCfiRange": { # Range in image CFI format for this annotation for version above.
+          "startPosition": "A String", # The starting position for the range.
+          "endPosition": "A String", # The ending position for the range.
+          "startOffset": "A String", # The offset from the starting position.
+          "endOffset": "A String", # The offset from the ending position.
+        },
         "gbImageRange": { # Range in GB image format for this annotation for version above.
           "startPosition": "A String", # The starting position for the range.
           "endPosition": "A String", # The ending position for the range.
@@ -141,7 +150,7 @@
           "endOffset": "A String", # The offset from the ending position.
         },
       },
-      "afterSelectedText": "A String", # Anchor text after excerpt.
+      "afterSelectedText": "A String", # Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
       "clientVersionRanges": { # Selection ranges sent from the client.
         "contentVersion": "A String", # Content version the client sent in.
         "gbTextRange": { # Range in GB text format for this annotation sent by client.
@@ -156,6 +165,12 @@
           "startOffset": "A String", # The offset from the starting position.
           "endOffset": "A String", # The offset from the ending position.
         },
+        "imageCfiRange": { # Range in image CFI format for this annotation sent by client.
+          "startPosition": "A String", # The starting position for the range.
+          "endPosition": "A String", # The ending position for the range.
+          "startOffset": "A String", # The offset from the starting position.
+          "endOffset": "A String", # The offset from the ending position.
+        },
         "gbImageRange": { # Range in GB image format for this annotation sent by client.
           "startPosition": "A String", # The starting position for the range.
           "endPosition": "A String", # The ending position for the range.
@@ -163,6 +178,11 @@
           "endOffset": "A String", # The offset from the ending position.
         },
       },
+      "layerSummary": {
+        "limitType": "A String", # Type of limitation on this layer. "limited" or "unlimited" for the "copy" layer.
+        "remainingCharacterCount": 42, # Remaining allowed characters on this layer, especially for the "copy" layer.
+        "allowedCharacterCount": 42, # Maximum allowed characters on this layer, especially for the "copy" layer.
+      },
       "volumeId": "A String", # The volume that this annotation belongs to.
       "pageIds": [ # Pages that this annotation spans.
         "A String",
@@ -177,7 +197,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="insert">insert(body, source=None)</code>
+    <code class="details" id="insert">insert(body, source=None, showOnlySummaryInResponse=None)</code>
   <pre>Inserts a new annotation.
 
 Args:
@@ -189,7 +209,7 @@
     "updated": "A String", # Timestamp for the last time this annotation was modified.
     "created": "A String", # Timestamp for the created time of this annotation.
     "deleted": True or False, # Indicates that this annotation is deleted.
-    "beforeSelectedText": "A String", # Anchor text before excerpt.
+    "beforeSelectedText": "A String", # Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
     "currentVersionRanges": { # Selection ranges for the most recent content version.
       "contentVersion": "A String", # Content version applicable to ranges below.
       "gbTextRange": { # Range in GB text format for this annotation for version above.
@@ -204,6 +224,12 @@
         "startOffset": "A String", # The offset from the starting position.
         "endOffset": "A String", # The offset from the ending position.
       },
+      "imageCfiRange": { # Range in image CFI format for this annotation for version above.
+        "startPosition": "A String", # The starting position for the range.
+        "endPosition": "A String", # The ending position for the range.
+        "startOffset": "A String", # The offset from the starting position.
+        "endOffset": "A String", # The offset from the ending position.
+      },
       "gbImageRange": { # Range in GB image format for this annotation for version above.
         "startPosition": "A String", # The starting position for the range.
         "endPosition": "A String", # The ending position for the range.
@@ -211,7 +237,7 @@
         "endOffset": "A String", # The offset from the ending position.
       },
     },
-    "afterSelectedText": "A String", # Anchor text after excerpt.
+    "afterSelectedText": "A String", # Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
     "clientVersionRanges": { # Selection ranges sent from the client.
       "contentVersion": "A String", # Content version the client sent in.
       "gbTextRange": { # Range in GB text format for this annotation sent by client.
@@ -226,6 +252,12 @@
         "startOffset": "A String", # The offset from the starting position.
         "endOffset": "A String", # The offset from the ending position.
       },
+      "imageCfiRange": { # Range in image CFI format for this annotation sent by client.
+        "startPosition": "A String", # The starting position for the range.
+        "endPosition": "A String", # The ending position for the range.
+        "startOffset": "A String", # The offset from the starting position.
+        "endOffset": "A String", # The offset from the ending position.
+      },
       "gbImageRange": { # Range in GB image format for this annotation sent by client.
         "startPosition": "A String", # The starting position for the range.
         "endPosition": "A String", # The ending position for the range.
@@ -233,6 +265,11 @@
         "endOffset": "A String", # The offset from the ending position.
       },
     },
+    "layerSummary": {
+      "limitType": "A String", # Type of limitation on this layer. "limited" or "unlimited" for the "copy" layer.
+      "remainingCharacterCount": 42, # Remaining allowed characters on this layer, especially for the "copy" layer.
+      "allowedCharacterCount": 42, # Maximum allowed characters on this layer, especially for the "copy" layer.
+    },
     "volumeId": "A String", # The volume that this annotation belongs to.
     "pageIds": [ # Pages that this annotation spans.
       "A String",
@@ -246,6 +283,7 @@
   }
 
   source: string, String to identify the originator of this request.
+  showOnlySummaryInResponse: boolean, Requests that only the summary of the specified layer be provided in the response.
 
 Returns:
   An object of the form:
@@ -255,7 +293,7 @@
       "updated": "A String", # Timestamp for the last time this annotation was modified.
       "created": "A String", # Timestamp for the created time of this annotation.
       "deleted": True or False, # Indicates that this annotation is deleted.
-      "beforeSelectedText": "A String", # Anchor text before excerpt.
+      "beforeSelectedText": "A String", # Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
       "currentVersionRanges": { # Selection ranges for the most recent content version.
         "contentVersion": "A String", # Content version applicable to ranges below.
         "gbTextRange": { # Range in GB text format for this annotation for version above.
@@ -270,6 +308,12 @@
           "startOffset": "A String", # The offset from the starting position.
           "endOffset": "A String", # The offset from the ending position.
         },
+        "imageCfiRange": { # Range in image CFI format for this annotation for version above.
+          "startPosition": "A String", # The starting position for the range.
+          "endPosition": "A String", # The ending position for the range.
+          "startOffset": "A String", # The offset from the starting position.
+          "endOffset": "A String", # The offset from the ending position.
+        },
         "gbImageRange": { # Range in GB image format for this annotation for version above.
           "startPosition": "A String", # The starting position for the range.
           "endPosition": "A String", # The ending position for the range.
@@ -277,7 +321,7 @@
           "endOffset": "A String", # The offset from the ending position.
         },
       },
-      "afterSelectedText": "A String", # Anchor text after excerpt.
+      "afterSelectedText": "A String", # Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
       "clientVersionRanges": { # Selection ranges sent from the client.
         "contentVersion": "A String", # Content version the client sent in.
         "gbTextRange": { # Range in GB text format for this annotation sent by client.
@@ -292,6 +336,12 @@
           "startOffset": "A String", # The offset from the starting position.
           "endOffset": "A String", # The offset from the ending position.
         },
+        "imageCfiRange": { # Range in image CFI format for this annotation sent by client.
+          "startPosition": "A String", # The starting position for the range.
+          "endPosition": "A String", # The ending position for the range.
+          "startOffset": "A String", # The offset from the starting position.
+          "endOffset": "A String", # The offset from the ending position.
+        },
         "gbImageRange": { # Range in GB image format for this annotation sent by client.
           "startPosition": "A String", # The starting position for the range.
           "endPosition": "A String", # The ending position for the range.
@@ -299,6 +349,11 @@
           "endOffset": "A String", # The offset from the ending position.
         },
       },
+      "layerSummary": {
+        "limitType": "A String", # Type of limitation on this layer. "limited" or "unlimited" for the "copy" layer.
+        "remainingCharacterCount": 42, # Remaining allowed characters on this layer, especially for the "copy" layer.
+        "allowedCharacterCount": 42, # Maximum allowed characters on this layer, especially for the "copy" layer.
+      },
       "volumeId": "A String", # The volume that this annotation belongs to.
       "pageIds": [ # Pages that this annotation spans.
         "A String",
@@ -339,7 +394,7 @@
           "updated": "A String", # Timestamp for the last time this annotation was modified.
           "created": "A String", # Timestamp for the created time of this annotation.
           "deleted": True or False, # Indicates that this annotation is deleted.
-          "beforeSelectedText": "A String", # Anchor text before excerpt.
+          "beforeSelectedText": "A String", # Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
           "currentVersionRanges": { # Selection ranges for the most recent content version.
             "contentVersion": "A String", # Content version applicable to ranges below.
             "gbTextRange": { # Range in GB text format for this annotation for version above.
@@ -354,6 +409,12 @@
               "startOffset": "A String", # The offset from the starting position.
               "endOffset": "A String", # The offset from the ending position.
             },
+            "imageCfiRange": { # Range in image CFI format for this annotation for version above.
+              "startPosition": "A String", # The starting position for the range.
+              "endPosition": "A String", # The ending position for the range.
+              "startOffset": "A String", # The offset from the starting position.
+              "endOffset": "A String", # The offset from the ending position.
+            },
             "gbImageRange": { # Range in GB image format for this annotation for version above.
               "startPosition": "A String", # The starting position for the range.
               "endPosition": "A String", # The ending position for the range.
@@ -361,7 +422,7 @@
               "endOffset": "A String", # The offset from the ending position.
             },
           },
-          "afterSelectedText": "A String", # Anchor text after excerpt.
+          "afterSelectedText": "A String", # Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
           "clientVersionRanges": { # Selection ranges sent from the client.
             "contentVersion": "A String", # Content version the client sent in.
             "gbTextRange": { # Range in GB text format for this annotation sent by client.
@@ -376,6 +437,12 @@
               "startOffset": "A String", # The offset from the starting position.
               "endOffset": "A String", # The offset from the ending position.
             },
+            "imageCfiRange": { # Range in image CFI format for this annotation sent by client.
+              "startPosition": "A String", # The starting position for the range.
+              "endPosition": "A String", # The ending position for the range.
+              "startOffset": "A String", # The offset from the starting position.
+              "endOffset": "A String", # The offset from the ending position.
+            },
             "gbImageRange": { # Range in GB image format for this annotation sent by client.
               "startPosition": "A String", # The starting position for the range.
               "endPosition": "A String", # The ending position for the range.
@@ -383,6 +450,11 @@
               "endOffset": "A String", # The offset from the ending position.
             },
           },
+          "layerSummary": {
+            "limitType": "A String", # Type of limitation on this layer. "limited" or "unlimited" for the "copy" layer.
+            "remainingCharacterCount": 42, # Remaining allowed characters on this layer, especially for the "copy" layer.
+            "allowedCharacterCount": 42, # Maximum allowed characters on this layer, especially for the "copy" layer.
+          },
           "volumeId": "A String", # The volume that this annotation belongs to.
           "pageIds": [ # Pages that this annotation spans.
             "A String",
@@ -415,6 +487,31 @@
 </div>
 
 <div class="method">
+    <code class="details" id="summary">summary(layerIds, volumeId)</code>
+  <pre>Gets the summary of specified layers.
+
+Args:
+  layerIds: string, Array of layer IDs to get the summary for. (required) (repeated)
+  volumeId: string, Volume id to get the summary for. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "layers": [
+      {
+        "limitType": "A String",
+        "remainingCharacterCount": 42,
+        "updated": "A String",
+        "layerId": "A String",
+        "allowedCharacterCount": 42,
+      },
+    ],
+    "kind": "books#annotationsSummary",
+  }</pre>
+</div>
+
+<div class="method">
     <code class="details" id="update">update(annotationId, body, source=None)</code>
   <pre>Updates an existing annotation.
 
@@ -428,7 +525,7 @@
     "updated": "A String", # Timestamp for the last time this annotation was modified.
     "created": "A String", # Timestamp for the created time of this annotation.
     "deleted": True or False, # Indicates that this annotation is deleted.
-    "beforeSelectedText": "A String", # Anchor text before excerpt.
+    "beforeSelectedText": "A String", # Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
     "currentVersionRanges": { # Selection ranges for the most recent content version.
       "contentVersion": "A String", # Content version applicable to ranges below.
       "gbTextRange": { # Range in GB text format for this annotation for version above.
@@ -443,6 +540,12 @@
         "startOffset": "A String", # The offset from the starting position.
         "endOffset": "A String", # The offset from the ending position.
       },
+      "imageCfiRange": { # Range in image CFI format for this annotation for version above.
+        "startPosition": "A String", # The starting position for the range.
+        "endPosition": "A String", # The ending position for the range.
+        "startOffset": "A String", # The offset from the starting position.
+        "endOffset": "A String", # The offset from the ending position.
+      },
       "gbImageRange": { # Range in GB image format for this annotation for version above.
         "startPosition": "A String", # The starting position for the range.
         "endPosition": "A String", # The ending position for the range.
@@ -450,7 +553,7 @@
         "endOffset": "A String", # The offset from the ending position.
       },
     },
-    "afterSelectedText": "A String", # Anchor text after excerpt.
+    "afterSelectedText": "A String", # Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
     "clientVersionRanges": { # Selection ranges sent from the client.
       "contentVersion": "A String", # Content version the client sent in.
       "gbTextRange": { # Range in GB text format for this annotation sent by client.
@@ -465,6 +568,12 @@
         "startOffset": "A String", # The offset from the starting position.
         "endOffset": "A String", # The offset from the ending position.
       },
+      "imageCfiRange": { # Range in image CFI format for this annotation sent by client.
+        "startPosition": "A String", # The starting position for the range.
+        "endPosition": "A String", # The ending position for the range.
+        "startOffset": "A String", # The offset from the starting position.
+        "endOffset": "A String", # The offset from the ending position.
+      },
       "gbImageRange": { # Range in GB image format for this annotation sent by client.
         "startPosition": "A String", # The starting position for the range.
         "endPosition": "A String", # The ending position for the range.
@@ -472,6 +581,11 @@
         "endOffset": "A String", # The offset from the ending position.
       },
     },
+    "layerSummary": {
+      "limitType": "A String", # Type of limitation on this layer. "limited" or "unlimited" for the "copy" layer.
+      "remainingCharacterCount": 42, # Remaining allowed characters on this layer, especially for the "copy" layer.
+      "allowedCharacterCount": 42, # Maximum allowed characters on this layer, especially for the "copy" layer.
+    },
     "volumeId": "A String", # The volume that this annotation belongs to.
     "pageIds": [ # Pages that this annotation spans.
       "A String",
@@ -494,7 +608,7 @@
       "updated": "A String", # Timestamp for the last time this annotation was modified.
       "created": "A String", # Timestamp for the created time of this annotation.
       "deleted": True or False, # Indicates that this annotation is deleted.
-      "beforeSelectedText": "A String", # Anchor text before excerpt.
+      "beforeSelectedText": "A String", # Anchor text before excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
       "currentVersionRanges": { # Selection ranges for the most recent content version.
         "contentVersion": "A String", # Content version applicable to ranges below.
         "gbTextRange": { # Range in GB text format for this annotation for version above.
@@ -509,6 +623,12 @@
           "startOffset": "A String", # The offset from the starting position.
           "endOffset": "A String", # The offset from the ending position.
         },
+        "imageCfiRange": { # Range in image CFI format for this annotation for version above.
+          "startPosition": "A String", # The starting position for the range.
+          "endPosition": "A String", # The ending position for the range.
+          "startOffset": "A String", # The offset from the starting position.
+          "endOffset": "A String", # The offset from the ending position.
+        },
         "gbImageRange": { # Range in GB image format for this annotation for version above.
           "startPosition": "A String", # The starting position for the range.
           "endPosition": "A String", # The ending position for the range.
@@ -516,7 +636,7 @@
           "endOffset": "A String", # The offset from the ending position.
         },
       },
-      "afterSelectedText": "A String", # Anchor text after excerpt.
+      "afterSelectedText": "A String", # Anchor text after excerpt. For requests, if the user bookmarked a screen that has no flowing text on it, then this field should be empty.
       "clientVersionRanges": { # Selection ranges sent from the client.
         "contentVersion": "A String", # Content version the client sent in.
         "gbTextRange": { # Range in GB text format for this annotation sent by client.
@@ -531,6 +651,12 @@
           "startOffset": "A String", # The offset from the starting position.
           "endOffset": "A String", # The offset from the ending position.
         },
+        "imageCfiRange": { # Range in image CFI format for this annotation sent by client.
+          "startPosition": "A String", # The starting position for the range.
+          "endPosition": "A String", # The ending position for the range.
+          "startOffset": "A String", # The offset from the starting position.
+          "endOffset": "A String", # The offset from the ending position.
+        },
         "gbImageRange": { # Range in GB image format for this annotation sent by client.
           "startPosition": "A String", # The starting position for the range.
           "endPosition": "A String", # The ending position for the range.
@@ -538,6 +664,11 @@
           "endOffset": "A String", # The offset from the ending position.
         },
       },
+      "layerSummary": {
+        "limitType": "A String", # Type of limitation on this layer. "limited" or "unlimited" for the "copy" layer.
+        "remainingCharacterCount": 42, # Remaining allowed characters on this layer, especially for the "copy" layer.
+        "allowedCharacterCount": 42, # Maximum allowed characters on this layer, especially for the "copy" layer.
+      },
       "volumeId": "A String", # The volume that this annotation belongs to.
       "pageIds": [ # Pages that this annotation spans.
         "A String",
diff --git a/docs/dyn/books_v1.mylibrary.bookshelves.volumes.html b/docs/dyn/books_v1.mylibrary.bookshelves.volumes.html
index 2d3d5a3..c85e0bd 100644
--- a/docs/dyn/books_v1.mylibrary.bookshelves.volumes.html
+++ b/docs/dyn/books_v1.mylibrary.bookshelves.volumes.html
@@ -147,7 +147,24 @@
             "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
           },
           "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
-          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FREE, NOT_FOR_SALE, or FOR_PREORDER.
+          "offers": [ # Offers available for this volume (sales and rentals).
+            {
+              "rentalDuration": { # The rental duration (for rental offers only).
+                "count": 3.14,
+                "unit": "A String",
+              },
+              "retailPrice": { # Offer retail (=discounted) price in Micros
+                "currencyCode": "A String",
+                "amountInMicros": 3.14,
+              },
+              "listPrice": { # Offer list (=undiscounted) price in Micros.
+                "currencyCode": "A String",
+                "amountInMicros": 3.14,
+              },
+              "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
+            },
+          ],
+          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
           "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
           "onSaleDate": "A String", # The date on which this book is available for sale.
           "listPrice": { # Suggested retail price. (In LITE projection.)
@@ -213,7 +230,25 @@
         },
         "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
           "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
+          "rentalPeriod": { # Period during this book is/was a valid rental.
+            "startUtcSec": "A String",
+            "endUtcSec": "A String",
+          },
           "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
+          "userUploadedVolumeInfo": {
+            "processingState": "A String",
+          },
+          "rentalState": "A String", # Whether this book is an active or an expired rental.
+          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
+          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
+            "kind": "books#readingPosition", # Resource type for a reading position.
+            "gbImagePosition": "A String", # Position in a volume for image-based content.
+            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
+            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
+            "volumeId": "A String", # Volume id associated with this reading position.
+            "pdfPosition": "A String", # Position in a PDF file.
+            "gbTextPosition": "A String", # Position in a volume for text-based content.
+          },
           "review": { # This user's review of this volume, if one exists.
             "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
             "kind": "books#review", # Resource type for a review.
@@ -232,17 +267,14 @@
             "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
             "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
           },
-          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
-          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
-            "kind": "books#readingPosition", # Resource type for a reading position.
-            "gbImagePosition": "A String", # Position in a volume for image-based content.
-            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
-            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
-            "volumeId": "A String", # Volume id associated with this reading position.
-            "pdfPosition": "A String", # Position in a PDF file.
-            "gbTextPosition": "A String", # Position in a volume for text-based content.
-          },
           "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
+          "copy": { # Copy/Paste accounting information.
+            "limitType": "A String",
+            "remainingCharacterCount": 42,
+            "updated": "A String",
+            "allowedCharacterCount": 42,
+          },
+          "isUploaded": True or False, # Whether or not this volume was user uploaded.
         },
       },
     ],
diff --git a/docs/dyn/books_v1.volumes.associated.html b/docs/dyn/books_v1.volumes.associated.html
index 3305ed9..b705313 100644
--- a/docs/dyn/books_v1.volumes.associated.html
+++ b/docs/dyn/books_v1.volumes.associated.html
@@ -143,7 +143,24 @@
             "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
           },
           "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
-          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FREE, NOT_FOR_SALE, or FOR_PREORDER.
+          "offers": [ # Offers available for this volume (sales and rentals).
+            {
+              "rentalDuration": { # The rental duration (for rental offers only).
+                "count": 3.14,
+                "unit": "A String",
+              },
+              "retailPrice": { # Offer retail (=discounted) price in Micros
+                "currencyCode": "A String",
+                "amountInMicros": 3.14,
+              },
+              "listPrice": { # Offer list (=undiscounted) price in Micros.
+                "currencyCode": "A String",
+                "amountInMicros": 3.14,
+              },
+              "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
+            },
+          ],
+          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
           "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
           "onSaleDate": "A String", # The date on which this book is available for sale.
           "listPrice": { # Suggested retail price. (In LITE projection.)
@@ -209,7 +226,25 @@
         },
         "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
           "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
+          "rentalPeriod": { # Period during this book is/was a valid rental.
+            "startUtcSec": "A String",
+            "endUtcSec": "A String",
+          },
           "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
+          "userUploadedVolumeInfo": {
+            "processingState": "A String",
+          },
+          "rentalState": "A String", # Whether this book is an active or an expired rental.
+          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
+          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
+            "kind": "books#readingPosition", # Resource type for a reading position.
+            "gbImagePosition": "A String", # Position in a volume for image-based content.
+            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
+            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
+            "volumeId": "A String", # Volume id associated with this reading position.
+            "pdfPosition": "A String", # Position in a PDF file.
+            "gbTextPosition": "A String", # Position in a volume for text-based content.
+          },
           "review": { # This user's review of this volume, if one exists.
             "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
             "kind": "books#review", # Resource type for a review.
@@ -228,17 +263,14 @@
             "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
             "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
           },
-          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
-          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
-            "kind": "books#readingPosition", # Resource type for a reading position.
-            "gbImagePosition": "A String", # Position in a volume for image-based content.
-            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
-            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
-            "volumeId": "A String", # Volume id associated with this reading position.
-            "pdfPosition": "A String", # Position in a PDF file.
-            "gbTextPosition": "A String", # Position in a volume for text-based content.
-          },
           "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
+          "copy": { # Copy/Paste accounting information.
+            "limitType": "A String",
+            "remainingCharacterCount": 42,
+            "updated": "A String",
+            "allowedCharacterCount": 42,
+          },
+          "isUploaded": True or False, # Whether or not this volume was user uploaded.
         },
       },
     ],
diff --git a/docs/dyn/books_v1.volumes.html b/docs/dyn/books_v1.volumes.html
index a23eea2..0fd2b47 100644
--- a/docs/dyn/books_v1.volumes.html
+++ b/docs/dyn/books_v1.volumes.html
@@ -80,11 +80,21 @@
 <p class="firstline">Returns the associated Resource.</p>
 
 <p class="toc_element">
+  <code><a href="books_v1.volumes.mybooks.html">mybooks()</a></code>
+</p>
+<p class="firstline">Returns the mybooks Resource.</p>
+
+<p class="toc_element">
   <code><a href="books_v1.volumes.recommended.html">recommended()</a></code>
 </p>
 <p class="firstline">Returns the recommended Resource.</p>
 
 <p class="toc_element">
+  <code><a href="books_v1.volumes.useruploaded.html">useruploaded()</a></code>
+</p>
+<p class="firstline">Returns the useruploaded Resource.</p>
+
+<p class="toc_element">
   <code><a href="#get">get(volumeId, projection=None, source=None, country=None, partner=None)</a></code></p>
 <p class="firstline">Gets volume information for a single volume.</p>
 <p class="toc_element">
@@ -154,7 +164,24 @@
         "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
       },
       "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
-      "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FREE, NOT_FOR_SALE, or FOR_PREORDER.
+      "offers": [ # Offers available for this volume (sales and rentals).
+        {
+          "rentalDuration": { # The rental duration (for rental offers only).
+            "count": 3.14,
+            "unit": "A String",
+          },
+          "retailPrice": { # Offer retail (=discounted) price in Micros
+            "currencyCode": "A String",
+            "amountInMicros": 3.14,
+          },
+          "listPrice": { # Offer list (=undiscounted) price in Micros.
+            "currencyCode": "A String",
+            "amountInMicros": 3.14,
+          },
+          "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
+        },
+      ],
+      "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
       "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
       "onSaleDate": "A String", # The date on which this book is available for sale.
       "listPrice": { # Suggested retail price. (In LITE projection.)
@@ -220,7 +247,25 @@
     },
     "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
       "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
+      "rentalPeriod": { # Period during this book is/was a valid rental.
+        "startUtcSec": "A String",
+        "endUtcSec": "A String",
+      },
       "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
+      "userUploadedVolumeInfo": {
+        "processingState": "A String",
+      },
+      "rentalState": "A String", # Whether this book is an active or an expired rental.
+      "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
+      "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
+        "kind": "books#readingPosition", # Resource type for a reading position.
+        "gbImagePosition": "A String", # Position in a volume for image-based content.
+        "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
+        "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
+        "volumeId": "A String", # Volume id associated with this reading position.
+        "pdfPosition": "A String", # Position in a PDF file.
+        "gbTextPosition": "A String", # Position in a volume for text-based content.
+      },
       "review": { # This user's review of this volume, if one exists.
         "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
         "kind": "books#review", # Resource type for a review.
@@ -239,17 +284,14 @@
         "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
         "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
       },
-      "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
-      "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
-        "kind": "books#readingPosition", # Resource type for a reading position.
-        "gbImagePosition": "A String", # Position in a volume for image-based content.
-        "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
-        "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
-        "volumeId": "A String", # Volume id associated with this reading position.
-        "pdfPosition": "A String", # Position in a PDF file.
-        "gbTextPosition": "A String", # Position in a volume for text-based content.
-      },
       "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
+      "copy": { # Copy/Paste accounting information.
+        "limitType": "A String",
+        "remainingCharacterCount": 42,
+        "updated": "A String",
+        "allowedCharacterCount": 42,
+      },
+      "isUploaded": True or False, # Whether or not this volume was user uploaded.
     },
   }</pre>
 </div>
@@ -346,7 +388,24 @@
             "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
           },
           "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
-          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FREE, NOT_FOR_SALE, or FOR_PREORDER.
+          "offers": [ # Offers available for this volume (sales and rentals).
+            {
+              "rentalDuration": { # The rental duration (for rental offers only).
+                "count": 3.14,
+                "unit": "A String",
+              },
+              "retailPrice": { # Offer retail (=discounted) price in Micros
+                "currencyCode": "A String",
+                "amountInMicros": 3.14,
+              },
+              "listPrice": { # Offer list (=undiscounted) price in Micros.
+                "currencyCode": "A String",
+                "amountInMicros": 3.14,
+              },
+              "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
+            },
+          ],
+          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
           "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
           "onSaleDate": "A String", # The date on which this book is available for sale.
           "listPrice": { # Suggested retail price. (In LITE projection.)
@@ -412,7 +471,25 @@
         },
         "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
           "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
+          "rentalPeriod": { # Period during this book is/was a valid rental.
+            "startUtcSec": "A String",
+            "endUtcSec": "A String",
+          },
           "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
+          "userUploadedVolumeInfo": {
+            "processingState": "A String",
+          },
+          "rentalState": "A String", # Whether this book is an active or an expired rental.
+          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
+          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
+            "kind": "books#readingPosition", # Resource type for a reading position.
+            "gbImagePosition": "A String", # Position in a volume for image-based content.
+            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
+            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
+            "volumeId": "A String", # Volume id associated with this reading position.
+            "pdfPosition": "A String", # Position in a PDF file.
+            "gbTextPosition": "A String", # Position in a volume for text-based content.
+          },
           "review": { # This user's review of this volume, if one exists.
             "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
             "kind": "books#review", # Resource type for a review.
@@ -431,17 +508,14 @@
             "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
             "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
           },
-          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
-          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
-            "kind": "books#readingPosition", # Resource type for a reading position.
-            "gbImagePosition": "A String", # Position in a volume for image-based content.
-            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
-            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
-            "volumeId": "A String", # Volume id associated with this reading position.
-            "pdfPosition": "A String", # Position in a PDF file.
-            "gbTextPosition": "A String", # Position in a volume for text-based content.
-          },
           "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
+          "copy": { # Copy/Paste accounting information.
+            "limitType": "A String",
+            "remainingCharacterCount": 42,
+            "updated": "A String",
+            "allowedCharacterCount": 42,
+          },
+          "isUploaded": True or False, # Whether or not this volume was user uploaded.
         },
       },
     ],
diff --git a/docs/dyn/books_v1.volumes.mybooks.html b/docs/dyn/books_v1.volumes.mybooks.html
new file mode 100644
index 0000000..d579ef8
--- /dev/null
+++ b/docs/dyn/books_v1.volumes.mybooks.html
@@ -0,0 +1,292 @@
+<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="books_v1.html">Books API</a> . <a href="books_v1.volumes.html">volumes</a> . <a href="books_v1.volumes.mybooks.html">mybooks</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(source=None, locale=None, acquireMethod=None, maxResults=None, startIndex=None, processingState=None)</a></code></p>
+<p class="firstline">Return a list of books in My Library.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(source=None, locale=None, acquireMethod=None, maxResults=None, startIndex=None, processingState=None)</code>
+  <pre>Return a list of books in My Library.
+
+Args:
+  source: string, String to identify the originator of this request.
+  locale: string, ISO-639-1 language and ISO-3166-1 country code. Ex:'en_US'. Used for generating recommendations.
+  acquireMethod: string, How the book was aquired (repeated)
+    Allowed values
+      PREORDERED - Preordered books (not yet available)
+      PREVIOUSLY_RENTED - User-rented books past their expiration time
+      PUBLIC_DOMAIN - Public domain books
+      PURCHASED - Purchased books
+      RENTED - User-rented books
+      SAMPLE - Sample books
+      UPLOADED - User uploaded books
+  maxResults: integer, Maximum number of results to return.
+  startIndex: integer, Index of the first result to return (starts at 0)
+  processingState: string, The processing state of the user uploaded volumes to be returned. Applicable only if the UPLOADED is specified in the acquireMethod. (repeated)
+    Allowed values
+      COMPLETED_FAILED - The volume processing hase failed.
+      COMPLETED_SUCCESS - The volume processing was completed.
+      RUNNING - The volume processing is not completed.
+
+Returns:
+  An object of the form:
+
+    {
+    "totalItems": 42, # Total number of volumes found. This might be greater than the number of volumes returned in this response if results have been paginated.
+    "items": [ # A list of volumes.
+      {
+        "kind": "books#volume", # Resource type for a volume. (In LITE projection.)
+        "accessInfo": { # Any information about a volume related to reading or obtaining that volume text. This information can depend on country (books may be public domain in one country but not in another, e.g.).
+          "webReaderLink": "A String", # URL to read this volume on the Google Books site. Link will not allow users to read non-viewable volumes.
+          "publicDomain": True or False, # Whether or not this book is public domain in the country listed above.
+          "embeddable": True or False, # Whether this volume can be embedded in a viewport using the Embedded Viewer API.
+          "downloadAccess": { # Information about a volume's download license access restrictions.
+            "nonce": "A String", # Client nonce for verification. Download access and client-validation only.
+            "kind": "books#downloadAccessRestriction", # Resource type.
+            "justAcquired": True or False, # If deviceAllowed, whether access was just acquired with this request.
+            "maxDownloadDevices": 42, # If restricted, the maximum number of content download licenses for this volume.
+            "downloadsAcquired": 42, # If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).
+            "signature": "A String", # Response signature.
+            "volumeId": "A String", # Identifies the volume for which this entry applies.
+            "deviceAllowed": True or False, # If restricted, whether access is granted for this (user, device, volume).
+            "source": "A String", # Client app identifier for verification. Download access and client-validation only.
+            "restricted": True or False, # Whether this volume has any download access restrictions.
+            "reasonCode": "A String", # Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS
+            "message": "A String", # Error/warning message.
+          },
+          "country": "A String", # The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)
+          "viewOrderUrl": "A String", # For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate Google Wallet page.
+          "textToSpeechPermission": "A String", # Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.
+          "pdf": { # Information about pdf content. (In LITE projection.)
+            "isAvailable": True or False, # Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)
+            "downloadLink": "A String", # URL to download pdf. (In LITE projection.)
+            "acsTokenLink": "A String", # URL to retrieve ACS token for pdf download. (In LITE projection.)
+          },
+          "viewability": "A String", # The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This value depends on the country listed above. A value of PARTIAL means that the publisher has allowed some portion of the volume to be viewed publicly, without purchase. This can apply to eBooks as well as non-eBooks. Public domain books will always have a value of ALL_PAGES.
+          "epub": { # Information about epub content. (In LITE projection.)
+            "isAvailable": True or False, # Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)
+            "downloadLink": "A String", # URL to download epub. (In LITE projection.)
+            "acsTokenLink": "A String", # URL to retrieve ACS token for epub download. (In LITE projection.)
+          },
+          "accessViewStatus": "A String", # Combines the access and viewability of this volume into a single status field for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE projection.)
+        },
+        "searchInfo": { # Search result information related to this volume.
+          "textSnippet": "A String", # A text snippet containing the search query.
+        },
+        "saleInfo": { # Any information about a volume related to the eBookstore and/or purchaseability. This information can depend on the country where the request originates from (i.e. books may not be for sale in certain countries).
+          "country": "A String", # The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)
+          "retailPrice": { # The actual selling price of the book. This is the same as the suggested retail or list price unless there are offers or discounts on this volume. (In LITE projection.)
+            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
+            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
+          },
+          "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
+          "offers": [ # Offers available for this volume (sales and rentals).
+            {
+              "rentalDuration": { # The rental duration (for rental offers only).
+                "count": 3.14,
+                "unit": "A String",
+              },
+              "retailPrice": { # Offer retail (=discounted) price in Micros
+                "currencyCode": "A String",
+                "amountInMicros": 3.14,
+              },
+              "listPrice": { # Offer list (=undiscounted) price in Micros.
+                "currencyCode": "A String",
+                "amountInMicros": 3.14,
+              },
+              "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
+            },
+          ],
+          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
+          "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
+          "onSaleDate": "A String", # The date on which this book is available for sale.
+          "listPrice": { # Suggested retail price. (In LITE projection.)
+            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
+            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
+          },
+        },
+        "etag": "A String", # Opaque identifier for a specific version of a volume resource. (In LITE projection)
+        "selfLink": "A String", # URL to this resource. (In LITE projection.)
+        "volumeInfo": { # General volume information.
+          "publisher": "A String", # Publisher of this volume. (In LITE projection.)
+          "subtitle": "A String", # Volume subtitle. (In LITE projection.)
+          "description": "A String", # A synopsis of the volume. The text of the description is formatted in HTML and includes simple formatting elements, such as b, i, and br tags. (In LITE projection.)
+          "language": "A String", # Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as 'fr', 'en', etc.
+          "pageCount": 42, # Total number of pages.
+          "imageLinks": { # A list of image links for all the sizes that are available. (In LITE projection.)
+            "medium": "A String", # Image link for medium size (width of ~575 pixels). (In LITE projection)
+            "smallThumbnail": "A String", # Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)
+            "large": "A String", # Image link for large size (width of ~800 pixels). (In LITE projection)
+            "extraLarge": "A String", # Image link for extra large size (width of ~1280 pixels). (In LITE projection)
+            "small": "A String", # Image link for small size (width of ~300 pixels). (In LITE projection)
+            "thumbnail": "A String", # Image link for thumbnail size (width of ~128 pixels). (In LITE projection)
+          },
+          "publishedDate": "A String", # Date of publication. (In LITE projection.)
+          "previewLink": "A String", # URL to preview this volume on the Google Books site.
+          "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
+          "ratingsCount": 42, # The number of review ratings for this volume.
+          "mainCategory": "A String", # The main category to which this volume belongs. It will be the category from the categories list returned below that has the highest weight.
+          "dimensions": { # Physical dimensions of this volume.
+            "width": "A String", # Width of this volume (in cm).
+            "thickness": "A String", # Thickness of this volume (in cm).
+            "height": "A String", # Height or length of this volume (in cm).
+          },
+          "contentVersion": "A String", # An identifier for the version of the volume content (text & images). (In LITE projection)
+          "industryIdentifiers": [ # Industry standard identifiers for this volume.
+            {
+              "identifier": "A String", # Industry specific volume identifier.
+              "type": "A String", # Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.
+            },
+          ],
+          "authors": [ # The names of the authors and/or editors for this volume. (In LITE projection)
+            "A String",
+          ],
+          "title": "A String", # Volume title. (In LITE projection.)
+          "canonicalVolumeLink": "A String", # Canonical URL for a volume. (In LITE projection.)
+          "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
+          "categories": [ # A list of subject categories, such as "Fiction", "Suspense", etc.
+            "A String",
+          ],
+          "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
+        },
+        "recommendedInfo": { # Recommendation related information for this volume.
+          "explanation": "A String", # A text explaining why this volume is recommended.
+        },
+        "id": "A String", # Unique identifier for a volume. (In LITE projection.)
+        "layerInfo": { # What layers exist in this volume and high level information about them.
+          "layers": [ # A layer should appear here if and only if the layer exists for this book.
+            {
+              "volumeAnnotationsVersion": "A String", # The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.
+              "layerId": "A String", # The layer id of this layer (e.g. "geo").
+            },
+          ],
+        },
+        "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
+          "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
+          "rentalPeriod": { # Period during this book is/was a valid rental.
+            "startUtcSec": "A String",
+            "endUtcSec": "A String",
+          },
+          "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
+          "userUploadedVolumeInfo": {
+            "processingState": "A String",
+          },
+          "rentalState": "A String", # Whether this book is an active or an expired rental.
+          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
+          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
+            "kind": "books#readingPosition", # Resource type for a reading position.
+            "gbImagePosition": "A String", # Position in a volume for image-based content.
+            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
+            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
+            "volumeId": "A String", # Volume id associated with this reading position.
+            "pdfPosition": "A String", # Position in a PDF file.
+            "gbTextPosition": "A String", # Position in a volume for text-based content.
+          },
+          "review": { # This user's review of this volume, if one exists.
+            "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
+            "kind": "books#review", # Resource type for a review.
+            "author": { # Author of this review.
+              "displayName": "A String", # Name of this person.
+            },
+            "title": "A String", # Title for this review.
+            "volumeId": "A String", # Volume that this review is for.
+            "content": "A String", # Review text.
+            "source": { # Information regarding the source of this review, when the review is not from a Google Books user.
+              "extraDescription": "A String", # Extra text about the source of the review.
+              "url": "A String", # URL of the source of the review.
+              "description": "A String", # Name of the source.
+            },
+            "date": "A String", # Date of this review.
+            "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
+            "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
+          },
+          "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
+          "copy": { # Copy/Paste accounting information.
+            "limitType": "A String",
+            "remainingCharacterCount": 42,
+            "updated": "A String",
+            "allowedCharacterCount": 42,
+          },
+          "isUploaded": True or False, # Whether or not this volume was user uploaded.
+        },
+      },
+    ],
+    "kind": "books#volumes", # Resource type.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.volumes.recommended.html b/docs/dyn/books_v1.volumes.recommended.html
index 05b76be..a5fc294 100644
--- a/docs/dyn/books_v1.volumes.recommended.html
+++ b/docs/dyn/books_v1.volumes.recommended.html
@@ -138,7 +138,24 @@
             "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
           },
           "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
-          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FREE, NOT_FOR_SALE, or FOR_PREORDER.
+          "offers": [ # Offers available for this volume (sales and rentals).
+            {
+              "rentalDuration": { # The rental duration (for rental offers only).
+                "count": 3.14,
+                "unit": "A String",
+              },
+              "retailPrice": { # Offer retail (=discounted) price in Micros
+                "currencyCode": "A String",
+                "amountInMicros": 3.14,
+              },
+              "listPrice": { # Offer list (=undiscounted) price in Micros.
+                "currencyCode": "A String",
+                "amountInMicros": 3.14,
+              },
+              "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
+            },
+          ],
+          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
           "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
           "onSaleDate": "A String", # The date on which this book is available for sale.
           "listPrice": { # Suggested retail price. (In LITE projection.)
@@ -204,7 +221,25 @@
         },
         "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
           "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
+          "rentalPeriod": { # Period during this book is/was a valid rental.
+            "startUtcSec": "A String",
+            "endUtcSec": "A String",
+          },
           "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
+          "userUploadedVolumeInfo": {
+            "processingState": "A String",
+          },
+          "rentalState": "A String", # Whether this book is an active or an expired rental.
+          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
+          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
+            "kind": "books#readingPosition", # Resource type for a reading position.
+            "gbImagePosition": "A String", # Position in a volume for image-based content.
+            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
+            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
+            "volumeId": "A String", # Volume id associated with this reading position.
+            "pdfPosition": "A String", # Position in a PDF file.
+            "gbTextPosition": "A String", # Position in a volume for text-based content.
+          },
           "review": { # This user's review of this volume, if one exists.
             "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
             "kind": "books#review", # Resource type for a review.
@@ -223,17 +258,14 @@
             "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
             "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
           },
-          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
-          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
-            "kind": "books#readingPosition", # Resource type for a reading position.
-            "gbImagePosition": "A String", # Position in a volume for image-based content.
-            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
-            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
-            "volumeId": "A String", # Volume id associated with this reading position.
-            "pdfPosition": "A String", # Position in a PDF file.
-            "gbTextPosition": "A String", # Position in a volume for text-based content.
-          },
           "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
+          "copy": { # Copy/Paste accounting information.
+            "limitType": "A String",
+            "remainingCharacterCount": 42,
+            "updated": "A String",
+            "allowedCharacterCount": 42,
+          },
+          "isUploaded": True or False, # Whether or not this volume was user uploaded.
         },
       },
     ],
diff --git a/docs/dyn/books_v1.volumes.useruploaded.html b/docs/dyn/books_v1.volumes.useruploaded.html
new file mode 100644
index 0000000..cf727d4
--- /dev/null
+++ b/docs/dyn/books_v1.volumes.useruploaded.html
@@ -0,0 +1,284 @@
+<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="books_v1.html">Books API</a> . <a href="books_v1.volumes.html">volumes</a> . <a href="books_v1.volumes.useruploaded.html">useruploaded</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(source=None, locale=None, volumeId=None, maxResults=None, startIndex=None, processingState=None)</a></code></p>
+<p class="firstline">Return a list of books uploaded by the current user.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(source=None, locale=None, volumeId=None, maxResults=None, startIndex=None, processingState=None)</code>
+  <pre>Return a list of books uploaded by the current user.
+
+Args:
+  source: string, String to identify the originator of this request.
+  locale: string, ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.
+  volumeId: string, The ids of the volumes to be returned. If not specified all that match the processingState are returned. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  startIndex: integer, Index of the first result to return (starts at 0)
+  processingState: string, The processing state of the user uploaded volumes to be returned. (repeated)
+    Allowed values
+      COMPLETED_FAILED - The volume processing hase failed.
+      COMPLETED_SUCCESS - The volume processing was completed.
+      RUNNING - The volume processing is not completed.
+
+Returns:
+  An object of the form:
+
+    {
+    "totalItems": 42, # Total number of volumes found. This might be greater than the number of volumes returned in this response if results have been paginated.
+    "items": [ # A list of volumes.
+      {
+        "kind": "books#volume", # Resource type for a volume. (In LITE projection.)
+        "accessInfo": { # Any information about a volume related to reading or obtaining that volume text. This information can depend on country (books may be public domain in one country but not in another, e.g.).
+          "webReaderLink": "A String", # URL to read this volume on the Google Books site. Link will not allow users to read non-viewable volumes.
+          "publicDomain": True or False, # Whether or not this book is public domain in the country listed above.
+          "embeddable": True or False, # Whether this volume can be embedded in a viewport using the Embedded Viewer API.
+          "downloadAccess": { # Information about a volume's download license access restrictions.
+            "nonce": "A String", # Client nonce for verification. Download access and client-validation only.
+            "kind": "books#downloadAccessRestriction", # Resource type.
+            "justAcquired": True or False, # If deviceAllowed, whether access was just acquired with this request.
+            "maxDownloadDevices": 42, # If restricted, the maximum number of content download licenses for this volume.
+            "downloadsAcquired": 42, # If restricted, the number of content download licenses already acquired (including the requesting client, if licensed).
+            "signature": "A String", # Response signature.
+            "volumeId": "A String", # Identifies the volume for which this entry applies.
+            "deviceAllowed": True or False, # If restricted, whether access is granted for this (user, device, volume).
+            "source": "A String", # Client app identifier for verification. Download access and client-validation only.
+            "restricted": True or False, # Whether this volume has any download access restrictions.
+            "reasonCode": "A String", # Error/warning reason code. Additional codes may be added in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS
+            "message": "A String", # Error/warning message.
+          },
+          "country": "A String", # The two-letter ISO_3166-1 country code for which this access information is valid. (In LITE projection.)
+          "viewOrderUrl": "A String", # For ordered but not yet processed orders, we give a URL that can be used to go to the appropriate Google Wallet page.
+          "textToSpeechPermission": "A String", # Whether text-to-speech is permitted for this volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.
+          "pdf": { # Information about pdf content. (In LITE projection.)
+            "isAvailable": True or False, # Is a scanned image pdf available either as public domain or for purchase. (In LITE projection.)
+            "downloadLink": "A String", # URL to download pdf. (In LITE projection.)
+            "acsTokenLink": "A String", # URL to retrieve ACS token for pdf download. (In LITE projection.)
+          },
+          "viewability": "A String", # The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This value depends on the country listed above. A value of PARTIAL means that the publisher has allowed some portion of the volume to be viewed publicly, without purchase. This can apply to eBooks as well as non-eBooks. Public domain books will always have a value of ALL_PAGES.
+          "epub": { # Information about epub content. (In LITE projection.)
+            "isAvailable": True or False, # Is a flowing text epub available either as public domain or for purchase. (In LITE projection.)
+            "downloadLink": "A String", # URL to download epub. (In LITE projection.)
+            "acsTokenLink": "A String", # URL to retrieve ACS token for epub download. (In LITE projection.)
+          },
+          "accessViewStatus": "A String", # Combines the access and viewability of this volume into a single status field for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE projection.)
+        },
+        "searchInfo": { # Search result information related to this volume.
+          "textSnippet": "A String", # A text snippet containing the search query.
+        },
+        "saleInfo": { # Any information about a volume related to the eBookstore and/or purchaseability. This information can depend on the country where the request originates from (i.e. books may not be for sale in certain countries).
+          "country": "A String", # The two-letter ISO_3166-1 country code for which this sale information is valid. (In LITE projection.)
+          "retailPrice": { # The actual selling price of the book. This is the same as the suggested retail or list price unless there are offers or discounts on this volume. (In LITE projection.)
+            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
+            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
+          },
+          "isEbook": True or False, # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
+          "offers": [ # Offers available for this volume (sales and rentals).
+            {
+              "rentalDuration": { # The rental duration (for rental offers only).
+                "count": 3.14,
+                "unit": "A String",
+              },
+              "retailPrice": { # Offer retail (=discounted) price in Micros
+                "currencyCode": "A String",
+                "amountInMicros": 3.14,
+              },
+              "listPrice": { # Offer list (=undiscounted) price in Micros.
+                "currencyCode": "A String",
+                "amountInMicros": 3.14,
+              },
+              "finskyOfferType": 42, # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
+            },
+          ],
+          "saleability": "A String", # Whether or not this book is available for sale or offered for free in the Google eBookstore for the country listed above. Possible values are FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
+          "buyLink": "A String", # URL to purchase this volume on the Google Books site. (In LITE projection)
+          "onSaleDate": "A String", # The date on which this book is available for sale.
+          "listPrice": { # Suggested retail price. (In LITE projection.)
+            "amount": 3.14, # Amount in the currency listed below. (In LITE projection.)
+            "currencyCode": "A String", # An ISO 4217, three-letter currency code. (In LITE projection.)
+          },
+        },
+        "etag": "A String", # Opaque identifier for a specific version of a volume resource. (In LITE projection)
+        "selfLink": "A String", # URL to this resource. (In LITE projection.)
+        "volumeInfo": { # General volume information.
+          "publisher": "A String", # Publisher of this volume. (In LITE projection.)
+          "subtitle": "A String", # Volume subtitle. (In LITE projection.)
+          "description": "A String", # A synopsis of the volume. The text of the description is formatted in HTML and includes simple formatting elements, such as b, i, and br tags. (In LITE projection.)
+          "language": "A String", # Best language for this volume (based on content). It is the two-letter ISO 639-1 code such as 'fr', 'en', etc.
+          "pageCount": 42, # Total number of pages.
+          "imageLinks": { # A list of image links for all the sizes that are available. (In LITE projection.)
+            "medium": "A String", # Image link for medium size (width of ~575 pixels). (In LITE projection)
+            "smallThumbnail": "A String", # Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)
+            "large": "A String", # Image link for large size (width of ~800 pixels). (In LITE projection)
+            "extraLarge": "A String", # Image link for extra large size (width of ~1280 pixels). (In LITE projection)
+            "small": "A String", # Image link for small size (width of ~300 pixels). (In LITE projection)
+            "thumbnail": "A String", # Image link for thumbnail size (width of ~128 pixels). (In LITE projection)
+          },
+          "publishedDate": "A String", # Date of publication. (In LITE projection.)
+          "previewLink": "A String", # URL to preview this volume on the Google Books site.
+          "printType": "A String", # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
+          "ratingsCount": 42, # The number of review ratings for this volume.
+          "mainCategory": "A String", # The main category to which this volume belongs. It will be the category from the categories list returned below that has the highest weight.
+          "dimensions": { # Physical dimensions of this volume.
+            "width": "A String", # Width of this volume (in cm).
+            "thickness": "A String", # Thickness of this volume (in cm).
+            "height": "A String", # Height or length of this volume (in cm).
+          },
+          "contentVersion": "A String", # An identifier for the version of the volume content (text & images). (In LITE projection)
+          "industryIdentifiers": [ # Industry standard identifiers for this volume.
+            {
+              "identifier": "A String", # Industry specific volume identifier.
+              "type": "A String", # Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.
+            },
+          ],
+          "authors": [ # The names of the authors and/or editors for this volume. (In LITE projection)
+            "A String",
+          ],
+          "title": "A String", # Volume title. (In LITE projection.)
+          "canonicalVolumeLink": "A String", # Canonical URL for a volume. (In LITE projection.)
+          "infoLink": "A String", # URL to view information about this volume on the Google Books site. (In LITE projection)
+          "categories": [ # A list of subject categories, such as "Fiction", "Suspense", etc.
+            "A String",
+          ],
+          "averageRating": 3.14, # The mean review rating for this volume. (min = 1.0, max = 5.0)
+        },
+        "recommendedInfo": { # Recommendation related information for this volume.
+          "explanation": "A String", # A text explaining why this volume is recommended.
+        },
+        "id": "A String", # Unique identifier for a volume. (In LITE projection.)
+        "layerInfo": { # What layers exist in this volume and high level information about them.
+          "layers": [ # A layer should appear here if and only if the layer exists for this book.
+            {
+              "volumeAnnotationsVersion": "A String", # The current version of this layer's volume annotations. Note that this version applies only to the data in the books.layers.volumeAnnotations.* responses. The actual annotation data is versioned separately.
+              "layerId": "A String", # The layer id of this layer (e.g. "geo").
+            },
+          ],
+        },
+        "userInfo": { # User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)
+          "isInMyBooks": True or False, # Whether or not this volume is currently in "my books."
+          "rentalPeriod": { # Period during this book is/was a valid rental.
+            "startUtcSec": "A String",
+            "endUtcSec": "A String",
+          },
+          "updated": "A String", # Timestamp when this volume was last modified by a user action, such as a reading position update, volume purchase or writing a review. (RFC 3339 UTC date-time format).
+          "userUploadedVolumeInfo": {
+            "processingState": "A String",
+          },
+          "rentalState": "A String", # Whether this book is an active or an expired rental.
+          "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.)
+          "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.)
+            "kind": "books#readingPosition", # Resource type for a reading position.
+            "gbImagePosition": "A String", # Position in a volume for image-based content.
+            "epubCfiPosition": "A String", # Position in an EPUB as a CFI.
+            "updated": "A String", # Timestamp when this reading position was last updated (formatted UTC timestamp with millisecond resolution).
+            "volumeId": "A String", # Volume id associated with this reading position.
+            "pdfPosition": "A String", # Position in a PDF file.
+            "gbTextPosition": "A String", # Position in a volume for text-based content.
+          },
+          "review": { # This user's review of this volume, if one exists.
+            "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED.
+            "kind": "books#review", # Resource type for a review.
+            "author": { # Author of this review.
+              "displayName": "A String", # Name of this person.
+            },
+            "title": "A String", # Title for this review.
+            "volumeId": "A String", # Volume that this review is for.
+            "content": "A String", # Review text.
+            "source": { # Information regarding the source of this review, when the review is not from a Google Books user.
+              "extraDescription": "A String", # Extra text about the source of the review.
+              "url": "A String", # URL of the source of the review.
+              "description": "A String", # Name of the source.
+            },
+            "date": "A String", # Date of this review.
+            "type": "A String", # Source type for this review. Possible values are EDITORIAL, WEB_USER or GOOGLE_USER.
+            "fullTextUrl": "A String", # URL for the full review text, for reviews gathered from the web.
+          },
+          "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.)
+          "copy": { # Copy/Paste accounting information.
+            "limitType": "A String",
+            "remainingCharacterCount": 42,
+            "updated": "A String",
+            "allowedCharacterCount": 42,
+          },
+          "isUploaded": True or False, # Whether or not this volume was user uploaded.
+        },
+      },
+    ],
+    "kind": "books#volumes", # Resource type.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/calendar_v3.channels.html b/docs/dyn/calendar_v3.channels.html
new file mode 100644
index 0000000..c65da65
--- /dev/null
+++ b/docs/dyn/calendar_v3.channels.html
@@ -0,0 +1,106 @@
+<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="calendar_v3.html">Calendar API</a> . <a href="calendar_v3.channels.html">channels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#stop">stop(body)</a></code></p>
+<p class="firstline">A description of how to use this function</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="stop">stop(body)</code>
+  <pre>A description of how to use this function
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "resourceUri": "A String", # The canonicalized ID of the watched resource.
+    "kind": "api#channel", # A channel watching an API resource
+    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
+    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
+    "params": { # Additional parameters controlling delivery channel behavior
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # The expiration instant for this channel if it is defined.
+    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
+    "type": "A String", # The type of delivery mechanism used by this channel
+    "id": "A String", # A UUID for the channel
+  }
+
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/calendar_v3.events.html b/docs/dyn/calendar_v3.events.html
index 14939a3..ab55b93 100644
--- a/docs/dyn/calendar_v3.events.html
+++ b/docs/dyn/calendar_v3.events.html
@@ -82,7 +82,7 @@
 <p class="firstline">Returns an event.</p>
 <p class="toc_element">
   <code><a href="#import_">import_(calendarId, body)</a></code></p>
-<p class="firstline">Imports an event.</p>
+<p class="firstline">Imports an event. This operation is used to add a private copy of an existing event to a calendar.</p>
 <p class="toc_element">
   <code><a href="#insert">insert(calendarId, body, sendNotifications=None, maxAttendees=None)</a></code></p>
 <p class="firstline">Creates an event.</p>
@@ -110,6 +110,9 @@
 <p class="toc_element">
   <code><a href="#update">update(calendarId, eventId, body, sendNotifications=None, alwaysIncludeEmail=None, maxAttendees=None)</a></code></p>
 <p class="firstline">Updates an event.</p>
+<p class="toc_element">
+  <code><a href="#watch">watch(calendarId, body, orderBy=None, showHiddenInvitations=None, timeMin=None, pageToken=None, updatedMin=None, singleEvents=None, alwaysIncludeEmail=None, showDeleted=None, maxAttendees=None, iCalUID=None, maxResults=None, timeMax=None, q=None, timeZone=None)</a></code></p>
+<p class="firstline">Subscribe to changes in events collection</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="delete">delete(calendarId, eventId, sendNotifications=None)</code>
@@ -170,15 +173,19 @@
           "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
         },
       ],
-      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-        "A String",
-      ],
       "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
         "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
       },
+      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
+      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
+        "A String",
+      ],
+      "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
+        "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
+        "title": "A String", # Title of the source; for example a title of a web page or an email subject.
+      },
       "etag": "A String", # ETag of the resource.
       "location": "A String", # Geographic location of the event as free-form text. Optional.
       "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
@@ -252,13 +259,13 @@
       "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
           # - "opaque" - The event blocks time on the calendar. This is the default value.
           # - "transparent" - The event does not block time on the calendar.
-      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable.
+      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
     }</pre>
 </div>
 
 <div class="method">
     <code class="details" id="import_">import_(calendarId, body)</code>
-  <pre>Imports an event.
+  <pre>Imports an event. This operation is used to add a private copy of an existing event to a calendar.
 
 Args:
   calendarId: string, Calendar identifier. (required)
@@ -299,15 +306,19 @@
         "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
       },
     ],
-    "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-    "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-      "A String",
-    ],
     "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
       "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
       "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
       "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
     },
+    "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
+    "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
+      "A String",
+    ],
+    "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
+      "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
+      "title": "A String", # Title of the source; for example a title of a web page or an email subject.
+    },
     "etag": "A String", # ETag of the resource.
     "location": "A String", # Geographic location of the event as free-form text. Optional.
     "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
@@ -381,7 +392,7 @@
     "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
         # - "opaque" - The event blocks time on the calendar. This is the default value.
         # - "transparent" - The event does not block time on the calendar.
-    "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable.
+    "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
   }
 
 
@@ -422,15 +433,19 @@
           "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
         },
       ],
-      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-        "A String",
-      ],
       "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
         "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
       },
+      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
+      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
+        "A String",
+      ],
+      "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
+        "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
+        "title": "A String", # Title of the source; for example a title of a web page or an email subject.
+      },
       "etag": "A String", # ETag of the resource.
       "location": "A String", # Geographic location of the event as free-form text. Optional.
       "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
@@ -504,7 +519,7 @@
       "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
           # - "opaque" - The event blocks time on the calendar. This is the default value.
           # - "transparent" - The event does not block time on the calendar.
-      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable.
+      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
     }</pre>
 </div>
 
@@ -551,15 +566,19 @@
         "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
       },
     ],
-    "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-    "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-      "A String",
-    ],
     "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
       "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
       "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
       "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
     },
+    "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
+    "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
+      "A String",
+    ],
+    "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
+      "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
+      "title": "A String", # Title of the source; for example a title of a web page or an email subject.
+    },
     "etag": "A String", # ETag of the resource.
     "location": "A String", # Geographic location of the event as free-form text. Optional.
     "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
@@ -633,7 +652,7 @@
     "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
         # - "opaque" - The event blocks time on the calendar. This is the default value.
         # - "transparent" - The event does not block time on the calendar.
-    "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable.
+    "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
   }
 
   sendNotifications: boolean, Whether to send notifications about the creation of the new event. Optional. The default is False.
@@ -676,15 +695,19 @@
           "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
         },
       ],
-      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-        "A String",
-      ],
       "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
         "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
       },
+      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
+      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
+        "A String",
+      ],
+      "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
+        "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
+        "title": "A String", # Title of the source; for example a title of a web page or an email subject.
+      },
       "etag": "A String", # ETag of the resource.
       "location": "A String", # Geographic location of the event as free-form text. Optional.
       "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
@@ -758,7 +781,7 @@
       "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
           # - "opaque" - The event blocks time on the calendar. This is the default value.
           # - "transparent" - The event does not block time on the calendar.
-      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable.
+      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
     }</pre>
 </div>
 
@@ -830,15 +853,19 @@
               "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
             },
           ],
-          "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-          "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-            "A String",
-          ],
           "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
             "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
             "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
             "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
           },
+          "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
+          "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
+            "A String",
+          ],
+          "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
+            "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
+            "title": "A String", # Title of the source; for example a title of a web page or an email subject.
+          },
           "etag": "A String", # ETag of the resource.
           "location": "A String", # Geographic location of the event as free-form text. Optional.
           "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
@@ -912,7 +939,7 @@
           "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
               # - "opaque" - The event blocks time on the calendar. This is the default value.
               # - "transparent" - The event does not block time on the calendar.
-          "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable.
+          "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
         },
     ],
     "updated": "A String", # Last modification time of the calendar (as a RFC 3339 timestamp). Read-only.
@@ -958,7 +985,7 @@
   updatedMin: string, Lower bound for an event's last modification time (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by last modification time.
   singleEvents: boolean, Whether to expand recurring events into instances and only return single one-off events and instances of recurring events, but not the underlying recurring events themselves. Optional. The default is False.
   alwaysIncludeEmail: boolean, Whether to always include a value in the "email" field for the organizer, creator and attendees, even if no real email is available (i.e. a generated, non-working value will be provided). The use of this option is discouraged and should only be used by clients which cannot handle the absence of an email address value in the mentioned places. Optional. The default is False.
-  showDeleted: boolean, Whether to include deleted events (with 'status' equals 'cancelled') in the result. Cancelled instances of recurring events (but not the underlying recurring event) will still be included if 'showDeleted' and 'singleEvents' are both False. If 'showDeleted' and 'singleEvents' are both True only single instances of deleted events (but not the underlying recurring events) are returned. Optional. The default is False.
+  showDeleted: boolean, Whether to include deleted events (with 'status' equals 'cancelled') in the result. Cancelled instances of recurring events (but not the underlying recurring event) will still be included if 'showDeleted' and 'singleEvents' are both False. If 'showDeleted' and 'singleEvents' are both True, only single instances of deleted events (but not the underlying recurring events) are returned. Optional. The default is False.
   maxAttendees: integer, The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional.
   iCalUID: string, Specifies iCalendar UID (iCalUID) of events to be included in the response. Optional.
   maxResults: integer, Maximum number of events returned on one result page. Optional.
@@ -1017,15 +1044,19 @@
               "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
             },
           ],
-          "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-          "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-            "A String",
-          ],
           "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
             "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
             "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
             "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
           },
+          "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
+          "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
+            "A String",
+          ],
+          "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
+            "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
+            "title": "A String", # Title of the source; for example a title of a web page or an email subject.
+          },
           "etag": "A String", # ETag of the resource.
           "location": "A String", # Geographic location of the event as free-form text. Optional.
           "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
@@ -1099,7 +1130,7 @@
           "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
               # - "opaque" - The event blocks time on the calendar. This is the default value.
               # - "transparent" - The event does not block time on the calendar.
-          "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable.
+          "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
         },
     ],
     "updated": "A String", # Last modification time of the calendar (as a RFC 3339 timestamp). Read-only.
@@ -1176,15 +1207,19 @@
           "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
         },
       ],
-      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-        "A String",
-      ],
       "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
         "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
       },
+      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
+      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
+        "A String",
+      ],
+      "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
+        "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
+        "title": "A String", # Title of the source; for example a title of a web page or an email subject.
+      },
       "etag": "A String", # ETag of the resource.
       "location": "A String", # Geographic location of the event as free-form text. Optional.
       "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
@@ -1258,7 +1293,7 @@
       "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
           # - "opaque" - The event blocks time on the calendar. This is the default value.
           # - "transparent" - The event does not block time on the calendar.
-      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable.
+      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
     }</pre>
 </div>
 
@@ -1306,15 +1341,19 @@
         "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
       },
     ],
-    "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-    "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-      "A String",
-    ],
     "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
       "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
       "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
       "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
     },
+    "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
+    "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
+      "A String",
+    ],
+    "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
+      "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
+      "title": "A String", # Title of the source; for example a title of a web page or an email subject.
+    },
     "etag": "A String", # ETag of the resource.
     "location": "A String", # Geographic location of the event as free-form text. Optional.
     "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
@@ -1388,7 +1427,7 @@
     "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
         # - "opaque" - The event blocks time on the calendar. This is the default value.
         # - "transparent" - The event does not block time on the calendar.
-    "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable.
+    "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
   }
 
   sendNotifications: boolean, Whether to send notifications about the event update (e.g. attendee's responses, title changes, etc.). Optional. The default is False.
@@ -1432,15 +1471,19 @@
           "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
         },
       ],
-      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-        "A String",
-      ],
       "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
         "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
       },
+      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
+      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
+        "A String",
+      ],
+      "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
+        "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
+        "title": "A String", # Title of the source; for example a title of a web page or an email subject.
+      },
       "etag": "A String", # ETag of the resource.
       "location": "A String", # Geographic location of the event as free-form text. Optional.
       "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
@@ -1514,7 +1557,7 @@
       "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
           # - "opaque" - The event blocks time on the calendar. This is the default value.
           # - "transparent" - The event does not block time on the calendar.
-      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable.
+      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
     }</pre>
 </div>
 
@@ -1564,15 +1607,19 @@
           "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
         },
       ],
-      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-        "A String",
-      ],
       "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
         "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
       },
+      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
+      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
+        "A String",
+      ],
+      "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
+        "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
+        "title": "A String", # Title of the source; for example a title of a web page or an email subject.
+      },
       "etag": "A String", # ETag of the resource.
       "location": "A String", # Geographic location of the event as free-form text. Optional.
       "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
@@ -1646,7 +1693,7 @@
       "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
           # - "opaque" - The event blocks time on the calendar. This is the default value.
           # - "transparent" - The event does not block time on the calendar.
-      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable.
+      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
     }</pre>
 </div>
 
@@ -1694,15 +1741,19 @@
         "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
       },
     ],
-    "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-    "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-      "A String",
-    ],
     "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
       "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
       "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
       "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
     },
+    "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
+    "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
+      "A String",
+    ],
+    "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
+      "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
+      "title": "A String", # Title of the source; for example a title of a web page or an email subject.
+    },
     "etag": "A String", # ETag of the resource.
     "location": "A String", # Geographic location of the event as free-form text. Optional.
     "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
@@ -1776,7 +1827,7 @@
     "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
         # - "opaque" - The event blocks time on the calendar. This is the default value.
         # - "transparent" - The event does not block time on the calendar.
-    "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable.
+    "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
   }
 
   sendNotifications: boolean, Whether to send notifications about the event update (e.g. attendee's responses, title changes, etc.). Optional. The default is False.
@@ -1820,15 +1871,19 @@
           "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
         },
       ],
-      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
-      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
-        "A String",
-      ],
       "start": { # The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
         "date": "A String", # The date, in the format "yyyy-mm-dd", if this is an all-day event.
         "timeZone": "A String", # The name of the time zone in which the time is specified (e.g. "Europe/Zurich"). Optional. The default is the time zone of the calendar.
         "dateTime": "A String", # The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in 'timeZone'.
       },
+      "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only.
+      "recurrence": [ # List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.
+        "A String",
+      ],
+      "source": { # Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.
+        "url": "A String", # URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS.
+        "title": "A String", # Title of the source; for example a title of a web page or an email subject.
+      },
       "etag": "A String", # ETag of the resource.
       "location": "A String", # Geographic location of the event as free-form text. Optional.
       "recurringEventId": "A String", # For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable.
@@ -1902,7 +1957,66 @@
       "transparency": "A String", # Whether the event blocks time on the calendar. Optional. Possible values are:
           # - "opaque" - The event blocks time on the calendar. This is the default value.
           # - "transparent" - The event does not block time on the calendar.
-      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable.
+      "privateCopy": True or False, # Whether this is a private event copy where changes are not shared with other copies on other calendars. Optional. Immutable. The default is False.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="watch">watch(calendarId, body, orderBy=None, showHiddenInvitations=None, timeMin=None, pageToken=None, updatedMin=None, singleEvents=None, alwaysIncludeEmail=None, showDeleted=None, maxAttendees=None, iCalUID=None, maxResults=None, timeMax=None, q=None, timeZone=None)</code>
+  <pre>Subscribe to changes in events collection
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "resourceUri": "A String", # The canonicalized ID of the watched resource.
+    "kind": "api#channel", # A channel watching an API resource
+    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
+    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
+    "params": { # Additional parameters controlling delivery channel behavior
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # The expiration instant for this channel if it is defined.
+    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
+    "type": "A String", # The type of delivery mechanism used by this channel
+    "id": "A String", # A UUID for the channel
+  }
+
+  orderBy: string, The order of the events returned in the result. Optional. The default is an unspecified, stable order.
+    Allowed values
+      startTime - Order by the start date/time (ascending). This is only available when querying single events (i.e. the parameter "singleEvents" is True)
+      updated - Order by last modification time (ascending).
+  showHiddenInvitations: boolean, Whether to include hidden invitations in the result. Optional. The default is False.
+  timeMin: string, Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time.
+  pageToken: string, Token specifying which result page to return. Optional.
+  updatedMin: string, Lower bound for an event's last modification time (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by last modification time.
+  singleEvents: boolean, Whether to expand recurring events into instances and only return single one-off events and instances of recurring events, but not the underlying recurring events themselves. Optional. The default is False.
+  alwaysIncludeEmail: boolean, Whether to always include a value in the "email" field for the organizer, creator and attendees, even if no real email is available (i.e. a generated, non-working value will be provided). The use of this option is discouraged and should only be used by clients which cannot handle the absence of an email address value in the mentioned places. Optional. The default is False.
+  showDeleted: boolean, Whether to include deleted events (with 'status' equals 'cancelled') in the result. Cancelled instances of recurring events (but not the underlying recurring event) will still be included if 'showDeleted' and 'singleEvents' are both False. If 'showDeleted' and 'singleEvents' are both True, only single instances of deleted events (but not the underlying recurring events) are returned. Optional. The default is False.
+  maxAttendees: integer, The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional.
+  iCalUID: string, Specifies iCalendar UID (iCalUID) of events to be included in the response. Optional.
+  maxResults: integer, Maximum number of events returned on one result page. Optional.
+  timeMax: string, Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time.
+  q: string, Free text search terms to find events that match these terms in any field, except for extended properties. Optional.
+  timeZone: string, Time zone used in the response. Optional. The default is the time zone of the calendar.
+
+Returns:
+  An object of the form:
+
+    {
+      "resourceUri": "A String", # The canonicalized ID of the watched resource.
+      "kind": "api#channel", # A channel watching an API resource
+      "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
+      "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
+      "params": { # Additional parameters controlling delivery channel behavior
+        "a_key": "A String", # Declares a new parameter by name.
+      },
+      "expiration": "A String", # The expiration instant for this channel if it is defined.
+      "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
+      "type": "A String", # The type of delivery mechanism used by this channel
+      "id": "A String", # A UUID for the channel
     }</pre>
 </div>
 
diff --git a/docs/dyn/calendar_v3.html b/docs/dyn/calendar_v3.html
index f2f2b8d..1681f9d 100644
--- a/docs/dyn/calendar_v3.html
+++ b/docs/dyn/calendar_v3.html
@@ -90,6 +90,11 @@
 <p class="firstline">Returns the calendars Resource.</p>
 
 <p class="toc_element">
+  <code><a href="calendar_v3.channels.html">channels()</a></code>
+</p>
+<p class="firstline">Returns the channels Resource.</p>
+
+<p class="toc_element">
   <code><a href="calendar_v3.colors.html">colors()</a></code>
 </p>
 <p class="firstline">Returns the colors Resource.</p>
diff --git a/docs/dyn/civicinfo_us_v1.elections.html b/docs/dyn/civicinfo_us_v1.elections.html
index 6b4b906..af9b880 100644
--- a/docs/dyn/civicinfo_us_v1.elections.html
+++ b/docs/dyn/civicinfo_us_v1.elections.html
@@ -248,7 +248,7 @@
         "numberVotingFor": "A String", # The number of candidates that a voter may vote for in this contest.
         "office": "A String", # The name of the office for this contest.
         "district": { # Describes the geographic scope of a contest. # Information about the electoral district that this contest is in.
-          "scope": "A String", # The geographic scope of this district. If unspecified the district's geography is not known. One of: statewide, congressional, stateUpper, stateLower, countywide, judicial, schoolBoard, cityWide, special
+          "scope": "A String", # The geographic scope of this district. If unspecified the district's geography is not known. One of: national, statewide, congressional, stateUpper, stateLower, countywide, judicial, schoolBoard, cityWide, township, countyCouncil, cityCouncil, ward, special
           "id": "A String", # An identifier for this district, relative to its scope. For example, the 34th State Senate district would have id "34" and a scope of stateUpper.
           "name": "A String", # The name of the district.
         },
@@ -281,9 +281,9 @@
           },
         ],
         "numberElected": "A String", # The number of candidates that will be elected to office in this contest.
-        "referendumUrl": "A String", # A link the referendum. This field is only populated for contests of type 'Referendum'.
+        "referendumUrl": "A String", # A link to the referendum. This field is only populated for contests of type 'Referendum'.
         "electorateSpecifications": "A String", # A description of any additional eligibility requirements for voting in this contest.
-        "referendumTitle": "A String", # The title of the referendum. (e.g. 'Proposition 42') This field is only populated for contests of type 'Referendum'.
+        "referendumTitle": "A String", # The title of the referendum (e.g. 'Proposition 42'). This field is only populated for contests of type 'Referendum'.
         "id": "A String", # An ID for this object. IDs may change in future requests and should not be cached. Access to this field requires special access that can be requested from the Request more link on the Quotas page.
         "special": "A String", # "Yes" or "No" depending on whether this a contest being held outside the normal election cycle.
       },
diff --git a/docs/dyn/compute_v1beta15.addresses.html b/docs/dyn/compute_v1beta15.addresses.html
new file mode 100644
index 0000000..0eacb0b
--- /dev/null
+++ b/docs/dyn/compute_v1beta15.addresses.html
@@ -0,0 +1,367 @@
+<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="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.addresses.html">addresses</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of addresses grouped by scope.</p>
+<p class="toc_element">
+  <code><a href="#aggregatedList_next">aggregatedList_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="#delete">delete(project, region, address)</a></code></p>
+<p class="firstline">Deletes the specified address resource.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, region, address)</a></code></p>
+<p class="firstline">Returns the specified address resource.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, region, body)</a></code></p>
+<p class="firstline">Creates an address resource in the specified project using the data included in the request.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, region, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of address resources contained within the specified region.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of addresses grouped by scope.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": { # A map of scoped address lists.
+      "a_key": { # Name of the scope containing this set of addresses.
+        "warning": { # Informational warning which replaces the list of addresses when the list is empty.
+          "message": "A String", # Optional human-readable details for this warning.
+          "code": "A String", # The warning type identifier for this warning.
+          "data": [ # Metadata for this warning in 'key: value' format.
+            {
+              "value": "A String", # A warning data value corresponding to the key.
+              "key": "A String", # A key for the warning data.
+            },
+          ],
+        },
+        "addresses": [ # List of addresses contained in this scope.
+          { # A reserved address resource.
+              "status": "A String", # The status of the address (output only).
+              "kind": "compute#address", # Type of the resource.
+              "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+              "region": "A String", # URL of the region where the address resides (output only).
+              "user": "A String", # URL of the resource currently using this address (output only).
+              "address": "A String", # The IP address represented by this resource.
+              "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+              "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+              "selfLink": "A String", # Server defined URL for the resource (output only).
+              "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+            },
+        ],
+      },
+    },
+    "kind": "compute#addressAggregatedList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="aggregatedList_next">aggregatedList_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="delete">delete(project, region, address)</code>
+  <pre>Deletes the specified address resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  address: string, Name of the address resource to delete. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, region, address)</code>
+  <pre>Returns the specified address resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  address: string, Name of the address resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # A reserved address resource.
+      "status": "A String", # The status of the address (output only).
+      "kind": "compute#address", # Type of the resource.
+      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+      "region": "A String", # URL of the region where the address resides (output only).
+      "user": "A String", # URL of the resource currently using this address (output only).
+      "address": "A String", # The IP address represented by this resource.
+      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+      "selfLink": "A String", # Server defined URL for the resource (output only).
+      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, region, body)</code>
+  <pre>Creates an address resource in the specified project using the data included in the request.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A reserved address resource.
+    "status": "A String", # The status of the address (output only).
+    "kind": "compute#address", # Type of the resource.
+    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+    "region": "A String", # URL of the region where the address resides (output only).
+    "user": "A String", # URL of the resource currently using this address (output only).
+    "address": "A String", # The IP address represented by this resource.
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, region, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of address resources contained within the specified region.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    { # Contains a list of address resources.
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # The address resources.
+      { # A reserved address resource.
+          "status": "A String", # The status of the address (output only).
+          "kind": "compute#address", # Type of the resource.
+          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+          "region": "A String", # URL of the region where the address resides (output only).
+          "user": "A String", # URL of the resource currently using this address (output only).
+          "address": "A String", # The IP address represented by this resource.
+          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+          "selfLink": "A String", # Server defined URL for the resource (output only).
+          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+        },
+    ],
+    "kind": "compute#addressList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.disks.html b/docs/dyn/compute_v1beta15.disks.html
new file mode 100644
index 0000000..47cb29c
--- /dev/null
+++ b/docs/dyn/compute_v1beta15.disks.html
@@ -0,0 +1,452 @@
+<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="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.disks.html">disks</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of disks grouped by scope.</p>
+<p class="toc_element">
+  <code><a href="#aggregatedList_next">aggregatedList_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="#createSnapshot">createSnapshot(project, zone, disk, body)</a></code></p>
+<p class="firstline">A description of how to use this function</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, zone, disk)</a></code></p>
+<p class="firstline">Deletes the specified persistent disk resource.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, zone, disk)</a></code></p>
+<p class="firstline">Returns the specified persistent disk resource.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, zone, body, sourceImage=None)</a></code></p>
+<p class="firstline">Creates a persistent disk resource in the specified project using the data included in the request.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, zone, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of persistent disk resources contained within the specified zone.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of disks grouped by scope.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": { # A map of scoped disk lists.
+      "a_key": { # Name of the scope containing this set of disks.
+        "disks": [ # List of disks contained in this scope.
+          { # A persistent disk resource.
+              "status": "A String", # The status of disk creation (output only).
+              "sourceSnapshot": "A String", # The source snapshot used to create this disk. Once the source snapshot has been deleted from the system, this field will be cleared, and will not be set even if a snapshot with the same name has been re-created.
+              "kind": "compute#disk", # Type of the resource.
+              "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+              "sizeGb": "A String", # Size of the persistent disk, specified in GB. This parameter is optional when creating a disk from a disk image or a snapshot, otherwise it is required.
+              "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+              "sourceSnapshotId": "A String", # The 'id' value of the snapshot used to create this disk. This value may be used to determine whether the disk was created from the current or a previous instance of a given disk snapshot.
+              "zone": "A String", # URL of the zone where the disk resides (output only).
+              "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+              "options": "A String", # Internal use only.
+              "selfLink": "A String", # Server defined URL for the resource (output only).
+              "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+            },
+        ],
+        "warning": { # Informational warning which replaces the list of disks when the list is empty.
+          "message": "A String", # Optional human-readable details for this warning.
+          "code": "A String", # The warning type identifier for this warning.
+          "data": [ # Metadata for this warning in 'key: value' format.
+            {
+              "value": "A String", # A warning data value corresponding to the key.
+              "key": "A String", # A key for the warning data.
+            },
+          ],
+        },
+      },
+    },
+    "kind": "compute#diskAggregatedList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="aggregatedList_next">aggregatedList_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="createSnapshot">createSnapshot(project, zone, disk, body)</code>
+  <pre>A description of how to use this function
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  disk: string, Name of the persistent disk resource to delete. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A persistent disk snapshot resource.
+    "status": "A String", # The status of the persistent disk snapshot (output only).
+    "kind": "compute#snapshot", # Type of the resource.
+    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+    "sourceDisk": "A String", # The source disk used to create this snapshot. Once the source disk has been deleted from the system, this field will be cleared, and will not be set even if a disk with the same name has been re-created (output only).
+    "sourceDiskId": "A String", # The 'id' value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name.
+    "diskSizeGb": "A String", # Size of the persistent disk snapshot, specified in GB (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(project, zone, disk)</code>
+  <pre>Deletes the specified persistent disk resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  disk: string, Name of the persistent disk resource to delete. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, zone, disk)</code>
+  <pre>Returns the specified persistent disk resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  disk: string, Name of the persistent disk resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # A persistent disk resource.
+      "status": "A String", # The status of disk creation (output only).
+      "sourceSnapshot": "A String", # The source snapshot used to create this disk. Once the source snapshot has been deleted from the system, this field will be cleared, and will not be set even if a snapshot with the same name has been re-created.
+      "kind": "compute#disk", # Type of the resource.
+      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+      "sizeGb": "A String", # Size of the persistent disk, specified in GB. This parameter is optional when creating a disk from a disk image or a snapshot, otherwise it is required.
+      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+      "sourceSnapshotId": "A String", # The 'id' value of the snapshot used to create this disk. This value may be used to determine whether the disk was created from the current or a previous instance of a given disk snapshot.
+      "zone": "A String", # URL of the zone where the disk resides (output only).
+      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+      "options": "A String", # Internal use only.
+      "selfLink": "A String", # Server defined URL for the resource (output only).
+      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, zone, body, sourceImage=None)</code>
+  <pre>Creates a persistent disk resource in the specified project using the data included in the request.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A persistent disk resource.
+    "status": "A String", # The status of disk creation (output only).
+    "sourceSnapshot": "A String", # The source snapshot used to create this disk. Once the source snapshot has been deleted from the system, this field will be cleared, and will not be set even if a snapshot with the same name has been re-created.
+    "kind": "compute#disk", # Type of the resource.
+    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+    "sizeGb": "A String", # Size of the persistent disk, specified in GB. This parameter is optional when creating a disk from a disk image or a snapshot, otherwise it is required.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "sourceSnapshotId": "A String", # The 'id' value of the snapshot used to create this disk. This value may be used to determine whether the disk was created from the current or a previous instance of a given disk snapshot.
+    "zone": "A String", # URL of the zone where the disk resides (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "options": "A String", # Internal use only.
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+  }
+
+  sourceImage: string, Optional. Source image to restore onto a disk.
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, zone, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of persistent disk resources contained within the specified zone.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    { # Contains a list of persistent disk resources.
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # The persistent disk resources.
+      { # A persistent disk resource.
+          "status": "A String", # The status of disk creation (output only).
+          "sourceSnapshot": "A String", # The source snapshot used to create this disk. Once the source snapshot has been deleted from the system, this field will be cleared, and will not be set even if a snapshot with the same name has been re-created.
+          "kind": "compute#disk", # Type of the resource.
+          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+          "sizeGb": "A String", # Size of the persistent disk, specified in GB. This parameter is optional when creating a disk from a disk image or a snapshot, otherwise it is required.
+          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+          "sourceSnapshotId": "A String", # The 'id' value of the snapshot used to create this disk. This value may be used to determine whether the disk was created from the current or a previous instance of a given disk snapshot.
+          "zone": "A String", # URL of the zone where the disk resides (output only).
+          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+          "options": "A String", # Internal use only.
+          "selfLink": "A String", # Server defined URL for the resource (output only).
+          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+        },
+    ],
+    "kind": "compute#diskList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.firewalls.html b/docs/dyn/compute_v1beta15.firewalls.html
new file mode 100644
index 0000000..678a63f
--- /dev/null
+++ b/docs/dyn/compute_v1beta15.firewalls.html
@@ -0,0 +1,524 @@
+<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="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.firewalls.html">firewalls</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, firewall)</a></code></p>
+<p class="firstline">Deletes the specified firewall resource.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, firewall)</a></code></p>
+<p class="firstline">Returns the specified firewall resource.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, body)</a></code></p>
+<p class="firstline">Creates a firewall resource in the specified project using the data included in the request.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of firewall resources available to the specified project.</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="#patch">patch(project, firewall, body)</a></code></p>
+<p class="firstline">Updates the specified firewall resource with the data included in the request. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(project, firewall, body)</a></code></p>
+<p class="firstline">Updates the specified firewall resource with the data included in the request.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(project, firewall)</code>
+  <pre>Deletes the specified firewall resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  firewall: string, Name of the firewall resource to delete. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, firewall)</code>
+  <pre>Returns the specified firewall resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  firewall: string, Name of the firewall resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # A firewall resource.
+      "kind": "compute#firewall", # Type of the resource.
+      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+      "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
+        "A String",
+      ],
+      "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
+        "A String",
+      ],
+      "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
+      "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
+        "A String",
+      ],
+      "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
+        {
+          "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
+          "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
+              #
+              # Example inputs include: ["22"], ["80","443"] and ["12345-12349"].
+            "A String",
+          ],
+        },
+      ],
+      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+      "selfLink": "A String", # Server defined URL for the resource (output only).
+      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, body)</code>
+  <pre>Creates a firewall resource in the specified project using the data included in the request.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A firewall resource.
+    "kind": "compute#firewall", # Type of the resource.
+    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+    "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
+      "A String",
+    ],
+    "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
+      "A String",
+    ],
+    "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
+    "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
+      "A String",
+    ],
+    "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
+      {
+        "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
+        "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
+            # 
+            # Example inputs include: ["22"], ["80","443"] and ["12345-12349"].
+          "A String",
+        ],
+      },
+    ],
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of firewall resources available to the specified project.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    { # Contains a list of firewall resources.
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # The firewall resources.
+      { # A firewall resource.
+          "kind": "compute#firewall", # Type of the resource.
+          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+          "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
+            "A String",
+          ],
+          "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
+            "A String",
+          ],
+          "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
+          "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
+            "A String",
+          ],
+          "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
+            {
+              "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
+              "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
+                  #
+                  # Example inputs include: ["22"], ["80","443"] and ["12345-12349"].
+                "A String",
+              ],
+            },
+          ],
+          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+          "selfLink": "A String", # Server defined URL for the resource (output only).
+          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+        },
+    ],
+    "kind": "compute#firewallList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</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="patch">patch(project, firewall, body)</code>
+  <pre>Updates the specified firewall resource with the data included in the request. This method supports patch semantics.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  firewall: string, Name of the firewall resource to update. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A firewall resource.
+    "kind": "compute#firewall", # Type of the resource.
+    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+    "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
+      "A String",
+    ],
+    "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
+      "A String",
+    ],
+    "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
+    "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
+      "A String",
+    ],
+    "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
+      {
+        "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
+        "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
+            # 
+            # Example inputs include: ["22"], ["80","443"] and ["12345-12349"].
+          "A String",
+        ],
+      },
+    ],
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(project, firewall, body)</code>
+  <pre>Updates the specified firewall resource with the data included in the request.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  firewall: string, Name of the firewall resource to update. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A firewall resource.
+    "kind": "compute#firewall", # Type of the resource.
+    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+    "sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
+      "A String",
+    ],
+    "sourceRanges": [ # A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.
+      "A String",
+    ],
+    "network": "A String", # URL of the network to which this firewall is applied; provided by the client when the firewall is created.
+    "targetTags": [ # A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.
+      "A String",
+    ],
+    "allowed": [ # The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.
+      {
+        "IPProtocol": "A String", # Required; this is the IP protocol that is allowed for this rule. This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number.
+        "ports": [ # An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.
+            # 
+            # Example inputs include: ["22"], ["80","443"] and ["12345-12349"].
+          "A String",
+        ],
+      },
+    ],
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.globalOperations.html b/docs/dyn/compute_v1beta15.globalOperations.html
new file mode 100644
index 0000000..b647562
--- /dev/null
+++ b/docs/dyn/compute_v1beta15.globalOperations.html
@@ -0,0 +1,336 @@
+<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="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.globalOperations.html">globalOperations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of all operations grouped by scope.</p>
+<p class="toc_element">
+  <code><a href="#aggregatedList_next">aggregatedList_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="#delete">delete(project, operation)</a></code></p>
+<p class="firstline">Deletes the specified operation resource.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, operation)</a></code></p>
+<p class="firstline">Retrieves the specified operation resource.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of operation resources contained within the specified project.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of all operations grouped by scope.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": { # A map of scoped operation lists.
+      "a_key": { # Name of the scope containing this set of operations.
+        "operations": [ # List of operations contained in this scope.
+          { # An operation resource, used to manage asynchronous API requests.
+            "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+            "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+            "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+            "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+            "zone": "A String", # URL of the zone where the operation resides (output only).
+            "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+            "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+            "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+            "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+            "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+            "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+            "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+            "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+              {
+                "message": "A String", # Optional human-readable details for this warning.
+                "code": "A String", # The warning type identifier for this warning.
+                "data": [ # Metadata for this warning in 'key: value' format.
+                  {
+                    "value": "A String", # A warning data value corresponding to the key.
+                    "key": "A String", # A key for the warning data.
+                  },
+                ],
+              },
+            ],
+            "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+            "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+            "kind": "compute#operation", # Type of the resource.
+            "name": "A String", # Name of the resource (output only).
+            "region": "A String", # URL of the region where the operation resides (output only).
+            "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+              "errors": [ # The array of errors encountered while processing this operation.
+                {
+                  "message": "A String", # An optional, human-readable error message.
+                  "code": "A String", # The error type identifier for this error.
+                  "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+                },
+              ],
+            },
+            "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+            "selfLink": "A String", # Server defined URL for the resource (output only).
+            "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+          },
+        ],
+        "warning": { # Informational warning which replaces the list of operations when the list is empty.
+          "message": "A String", # Optional human-readable details for this warning.
+          "code": "A String", # The warning type identifier for this warning.
+          "data": [ # Metadata for this warning in 'key: value' format.
+            {
+              "value": "A String", # A warning data value corresponding to the key.
+              "key": "A String", # A key for the warning data.
+            },
+          ],
+        },
+      },
+    },
+    "kind": "compute#operationAggregatedList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="aggregatedList_next">aggregatedList_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="delete">delete(project, operation)</code>
+  <pre>Deletes the specified operation resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  operation: string, Name of the operation resource to delete. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, operation)</code>
+  <pre>Retrieves the specified operation resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  operation: string, Name of the operation resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of operation resources contained within the specified project.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    { # Contains a list of operation resources.
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # The operation resources.
+      { # An operation resource, used to manage asynchronous API requests.
+        "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+        "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+        "zone": "A String", # URL of the zone where the operation resides (output only).
+        "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+        "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+        "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+        "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+        "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+        "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+        "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+        "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+          {
+            "message": "A String", # Optional human-readable details for this warning.
+            "code": "A String", # The warning type identifier for this warning.
+            "data": [ # Metadata for this warning in 'key: value' format.
+              {
+                "value": "A String", # A warning data value corresponding to the key.
+                "key": "A String", # A key for the warning data.
+              },
+            ],
+          },
+        ],
+        "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+        "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+        "kind": "compute#operation", # Type of the resource.
+        "name": "A String", # Name of the resource (output only).
+        "region": "A String", # URL of the region where the operation resides (output only).
+        "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+          "errors": [ # The array of errors encountered while processing this operation.
+            {
+              "message": "A String", # An optional, human-readable error message.
+              "code": "A String", # The error type identifier for this error.
+              "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+            },
+          ],
+        },
+        "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+        "selfLink": "A String", # Server defined URL for the resource (output only).
+        "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+      },
+    ],
+    "kind": "compute#operationList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.html b/docs/dyn/compute_v1beta15.html
new file mode 100644
index 0000000..dcf75f8
--- /dev/null
+++ b/docs/dyn/compute_v1beta15.html
@@ -0,0 +1,162 @@
+<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="compute_v1beta15.html">Compute Engine API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="compute_v1beta15.addresses.html">addresses()</a></code>
+</p>
+<p class="firstline">Returns the addresses Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1beta15.disks.html">disks()</a></code>
+</p>
+<p class="firstline">Returns the disks Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1beta15.firewalls.html">firewalls()</a></code>
+</p>
+<p class="firstline">Returns the firewalls Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1beta15.globalOperations.html">globalOperations()</a></code>
+</p>
+<p class="firstline">Returns the globalOperations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1beta15.httpHealthChecks.html">httpHealthChecks()</a></code>
+</p>
+<p class="firstline">Returns the httpHealthChecks Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1beta15.images.html">images()</a></code>
+</p>
+<p class="firstline">Returns the images Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1beta15.instances.html">instances()</a></code>
+</p>
+<p class="firstline">Returns the instances Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1beta15.kernels.html">kernels()</a></code>
+</p>
+<p class="firstline">Returns the kernels Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1beta15.machineTypes.html">machineTypes()</a></code>
+</p>
+<p class="firstline">Returns the machineTypes Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1beta15.networks.html">networks()</a></code>
+</p>
+<p class="firstline">Returns the networks Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1beta15.projects.html">projects()</a></code>
+</p>
+<p class="firstline">Returns the projects Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1beta15.regionOperations.html">regionOperations()</a></code>
+</p>
+<p class="firstline">Returns the regionOperations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1beta15.regions.html">regions()</a></code>
+</p>
+<p class="firstline">Returns the regions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1beta15.routes.html">routes()</a></code>
+</p>
+<p class="firstline">Returns the routes Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1beta15.snapshots.html">snapshots()</a></code>
+</p>
+<p class="firstline">Returns the snapshots Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1beta15.zoneOperations.html">zoneOperations()</a></code>
+</p>
+<p class="firstline">Returns the zoneOperations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1beta15.zones.html">zones()</a></code>
+</p>
+<p class="firstline">Returns the zones Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.httpHealthChecks.html b/docs/dyn/compute_v1beta15.httpHealthChecks.html
new file mode 100644
index 0000000..951e94f
--- /dev/null
+++ b/docs/dyn/compute_v1beta15.httpHealthChecks.html
@@ -0,0 +1,156 @@
+<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="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.httpHealthChecks.html">httpHealthChecks</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#patch">patch(project, httpHealthCheck, body)</a></code></p>
+<p class="firstline">Updates a HttpHealthCheck resource in the specified project using the data included in the request. This method supports patch semantics.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="patch">patch(project, httpHealthCheck, body)</code>
+  <pre>Updates a HttpHealthCheck resource in the specified project using the data included in the request. This method supports patch semantics.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  httpHealthCheck: string, Name of the HttpHealthCheck resource to update. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An HttpHealthCheck resource. This resource defines a template for how individual VMs should be checked for health, via HTTP.
+    "kind": "compute#httpHealthCheck", # Type of the resource.
+    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+    "timeoutSec": 42, # How long (in seconds) to wait before claiming failure. The default value is 5 seconds.
+    "checkIntervalSec": 42, # How often (in seconds) to send a health check. The default value is 5 seconds.
+    "port": 42, # The TCP port number for the HTTP health check request. The default value is 80.
+    "healthyThreshold": 42, # A so-far unhealthy VM will be marked healthy after this many consecutive successes. The default value is 2.
+    "host": "A String", # The value of the host header in the HTTP health check request. If left empty (default value), the public IP on behalf of which this health check is performed will be used.
+    "requestPath": "A String", # The request path of the HTTP health check request. The default value is "/".
+    "unhealthyThreshold": 42, # A so-far healthy VM will be marked unhealthy after this many consecutive failures. The default value is 2.
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.images.html b/docs/dyn/compute_v1beta15.images.html
new file mode 100644
index 0000000..13555d5
--- /dev/null
+++ b/docs/dyn/compute_v1beta15.images.html
@@ -0,0 +1,397 @@
+<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="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.images.html">images</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, image)</a></code></p>
+<p class="firstline">Deletes the specified image resource.</p>
+<p class="toc_element">
+  <code><a href="#deprecate">deprecate(project, image, body)</a></code></p>
+<p class="firstline">Sets the deprecation status of an image. If no message body is given, clears the deprecation status instead.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, image)</a></code></p>
+<p class="firstline">Returns the specified image resource.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, body)</a></code></p>
+<p class="firstline">Creates an image resource in the specified project using the data included in the request.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of image resources available to the specified project.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(project, image)</code>
+  <pre>Deletes the specified image resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  image: string, Name of the image resource to delete. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="deprecate">deprecate(project, image, body)</code>
+  <pre>Sets the deprecation status of an image. If no message body is given, clears the deprecation status instead.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  image: string, Image name. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Deprecation status for a public resource.
+  "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
+  "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
+  "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
+  "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
+  "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, image)</code>
+  <pre>Returns the specified image resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  image: string, Name of the image resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # A disk image resource.
+      "status": "A String", # Status of the image (output only). It will be one of the following READY - after image has been successfully created and is ready for use FAILED - if creating the image fails for some reason PENDING - the image creation is in progress An image can be used to create other resources suck as instances only after the image has been successfully created and the status is set to READY.
+      "kind": "compute#image", # Type of the resource.
+      "description": "A String", # Textual description of the resource; provided by the client when the resource is created.
+      "rawDisk": { # The raw disk image parameters.
+        "containerType": "TAR", # The format used to encode and transmit the block device. Should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
+        "source": "A String", # The full Google Cloud Storage URL where the disk image is stored; provided by the client when the disk image is created.
+        "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created.
+      },
+      "preferredKernel": "A String", # An optional URL of the preferred kernel for use with this disk image. If not specified, a server defined default kernel will be used.
+      "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this image.
+        "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
+        "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
+        "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
+        "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
+        "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
+      },
+      "sourceType": "RAW", # Must be "RAW"; provided by the client when the disk image is created.
+      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+      "selfLink": "A String", # Server defined URL for the resource (output only).
+      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, body)</code>
+  <pre>Creates an image resource in the specified project using the data included in the request.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A disk image resource.
+    "status": "A String", # Status of the image (output only). It will be one of the following READY - after image has been successfully created and is ready for use FAILED - if creating the image fails for some reason PENDING - the image creation is in progress An image can be used to create other resources suck as instances only after the image has been successfully created and the status is set to READY.
+    "kind": "compute#image", # Type of the resource.
+    "description": "A String", # Textual description of the resource; provided by the client when the resource is created.
+    "rawDisk": { # The raw disk image parameters.
+      "containerType": "TAR", # The format used to encode and transmit the block device. Should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
+      "source": "A String", # The full Google Cloud Storage URL where the disk image is stored; provided by the client when the disk image is created.
+      "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created.
+    },
+    "preferredKernel": "A String", # An optional URL of the preferred kernel for use with this disk image. If not specified, a server defined default kernel will be used.
+    "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this image.
+      "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
+      "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
+      "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
+      "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
+      "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
+    },
+    "sourceType": "RAW", # Must be "RAW"; provided by the client when the disk image is created.
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of image resources available to the specified project.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    { # Contains a list of disk image resources.
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # The disk image resources.
+      { # A disk image resource.
+          "status": "A String", # Status of the image (output only). It will be one of the following READY - after image has been successfully created and is ready for use FAILED - if creating the image fails for some reason PENDING - the image creation is in progress An image can be used to create other resources suck as instances only after the image has been successfully created and the status is set to READY.
+          "kind": "compute#image", # Type of the resource.
+          "description": "A String", # Textual description of the resource; provided by the client when the resource is created.
+          "rawDisk": { # The raw disk image parameters.
+            "containerType": "TAR", # The format used to encode and transmit the block device. Should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
+            "source": "A String", # The full Google Cloud Storage URL where the disk image is stored; provided by the client when the disk image is created.
+            "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created.
+          },
+          "preferredKernel": "A String", # An optional URL of the preferred kernel for use with this disk image. If not specified, a server defined default kernel will be used.
+          "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this image.
+            "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
+            "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
+            "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
+            "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
+            "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
+          },
+          "sourceType": "RAW", # Must be "RAW"; provided by the client when the disk image is created.
+          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+          "selfLink": "A String", # Server defined URL for the resource (output only).
+          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+        },
+    ],
+    "kind": "compute#imageList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.instances.html b/docs/dyn/compute_v1beta15.instances.html
new file mode 100644
index 0000000..4a6f91d
--- /dev/null
+++ b/docs/dyn/compute_v1beta15.instances.html
@@ -0,0 +1,1072 @@
+<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="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.instances.html">instances</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#addAccessConfig">addAccessConfig(project, zone, instance, networkInterface, body)</a></code></p>
+<p class="firstline">Adds an access config to an instance's network interface.</p>
+<p class="toc_element">
+  <code><a href="#aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">A description of how to use this function</p>
+<p class="toc_element">
+  <code><a href="#aggregatedList_next">aggregatedList_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="#attachDisk">attachDisk(project, zone, instance, body)</a></code></p>
+<p class="firstline">Attaches a disk resource to an instance.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, zone, instance)</a></code></p>
+<p class="firstline">Deletes the specified instance resource.</p>
+<p class="toc_element">
+  <code><a href="#deleteAccessConfig">deleteAccessConfig(project, zone, instance, accessConfig, networkInterface)</a></code></p>
+<p class="firstline">Deletes an access config from an instance's network interface.</p>
+<p class="toc_element">
+  <code><a href="#detachDisk">detachDisk(project, zone, instance, deviceName)</a></code></p>
+<p class="firstline">Detaches a disk from an instance.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, zone, instance)</a></code></p>
+<p class="firstline">Returns the specified instance resource.</p>
+<p class="toc_element">
+  <code><a href="#getSerialPortOutput">getSerialPortOutput(project, zone, instance)</a></code></p>
+<p class="firstline">Returns the specified instance's serial port output.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, zone, body)</a></code></p>
+<p class="firstline">Creates an instance resource in the specified project using the data included in the request.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, zone, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of instance resources contained within the specified zone.</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="#reset">reset(project, zone, instance)</a></code></p>
+<p class="firstline">Performs a hard reset on the instance.</p>
+<p class="toc_element">
+  <code><a href="#setMetadata">setMetadata(project, zone, instance, body)</a></code></p>
+<p class="firstline">Sets metadata for the specified instance to the data included in the request.</p>
+<p class="toc_element">
+  <code><a href="#setTags">setTags(project, zone, instance, body)</a></code></p>
+<p class="firstline">Sets tags for the specified instance to the data included in the request.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="addAccessConfig">addAccessConfig(project, zone, instance, networkInterface, body)</code>
+  <pre>Adds an access config to an instance's network interface.
+
+Args:
+  project: string, Project name. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  instance: string, Instance name. (required)
+  networkInterface: string, Network interface name. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An access configuration attached to an instance's network interface.
+  "kind": "compute#accessConfig", # Type of the resource.
+  "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
+  "name": "A String", # Name of this access configuration.
+  "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If not specified, the external IP will be drawn from a shared ephemeral pool.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>A description of how to use this function
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": { # A map of scoped instance lists.
+      "a_key": { # Name of the scope containing this set of instances.
+        "instances": [ # List of instances contained in this scope.
+          { # An instance resource.
+            "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING", "STOPPING", "STOPPED", "TERMINATED" (output only).
+            "kernel": "A String", # URL of the kernel resource to use when booting. In case of booting from persistent disk, this parameter is required. When booting from a disk image, it is optional, but may be provided to use a different kernel than the one associated with the image.
+            "kind": "compute#instance", # Type of the resource.
+            "canIpForward": True or False, # Allows this instance to send packets with source IP addresses other than its own and receive packets with destination IP addresses other than its own. If this instance will be used as an IP gateway or it will be set as the next-hop in a Route resource, say true. If unsure, leave this set to false.
+            "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+            "zone": "A String", # URL of the zone where the instance resides (output only).
+            "tags": { # A set of instance tags. # A list of tags to be applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client on instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035.
+                "items": [ # An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035.
+                  "A String",
+                ],
+                "fingerprint": "A String", # Fingerprint of this resource. A hash of the tags stored in this object. This field is used optimistic locking. An up-to-date tags fingerprint must be provided in order to modify tags.
+              },
+            "image": "A String", # An optional URL of the disk image resource to be installed on this instance; provided by the client when the instance is created. Alternatively to passing the image, the client may choose to boot from a persistent disk, by setting boot=true flag on one of the entries in disks[] collection.
+            "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them.
+              { # An instance-attached disk resource.
+                  "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
+                  "kind": "compute#attachedDisk", # Type of the resource.
+                  "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value (output only).
+                  "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
+                  "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
+                  "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
+                  "type": "A String", # Type of the disk, either "SCRATCH" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
+                },
+            ],
+            "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+            "statusMessage": "A String", # An optional, human-readable explanation of the status (output only).
+            "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created.
+            "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries.
+              { # A service account.
+                "scopes": [ # The list of scopes to be made available for this service account.
+                  "A String",
+                ],
+                "email": "A String", # Email address of the service account.
+              },
+            ],
+            "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
+              { # A network interface resource attached to an instance.
+                "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
+                  { # An access configuration attached to an instance's network interface.
+                    "kind": "compute#accessConfig", # Type of the resource.
+                    "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
+                    "name": "A String", # Name of this access configuration.
+                    "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If not specified, the external IP will be drawn from a shared ephemeral pool.
+                  },
+                ],
+                "networkIP": "A String", # An optional IPV4 internal network address assigned to the instance for this network interface (output only).
+                "name": "A String", # Name of the network interface, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only).
+                "network": "A String", # URL of the network resource attached to this interface.
+              },
+            ],
+            "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+            "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+            "selfLink": "A String", # Server defined URL for this resource (output only).
+            "metadata": { # A metadata key/value entry. # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information.
+              "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
+                {
+                  "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
+                  "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
+                },
+              ],
+              "kind": "compute#metadata", # Type of the resource.
+              "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
+            },
+          },
+        ],
+        "warning": { # Informational warning which replaces the list of instances when the list is empty.
+          "message": "A String", # Optional human-readable details for this warning.
+          "code": "A String", # The warning type identifier for this warning.
+          "data": [ # Metadata for this warning in 'key: value' format.
+            {
+              "value": "A String", # A warning data value corresponding to the key.
+              "key": "A String", # A key for the warning data.
+            },
+          ],
+        },
+      },
+    },
+    "kind": "compute#instanceAggregatedList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="aggregatedList_next">aggregatedList_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="attachDisk">attachDisk(project, zone, instance, body)</code>
+  <pre>Attaches a disk resource to an instance.
+
+Args:
+  project: string, Project name. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  instance: string, Instance name. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An instance-attached disk resource.
+    "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
+    "kind": "compute#attachedDisk", # Type of the resource.
+    "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value (output only).
+    "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
+    "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
+    "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
+    "type": "A String", # Type of the disk, either "SCRATCH" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(project, zone, instance)</code>
+  <pre>Deletes the specified instance resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  instance: string, Name of the instance resource to delete. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="deleteAccessConfig">deleteAccessConfig(project, zone, instance, accessConfig, networkInterface)</code>
+  <pre>Deletes an access config from an instance's network interface.
+
+Args:
+  project: string, Project name. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  instance: string, Instance name. (required)
+  accessConfig: string, Access config name. (required)
+  networkInterface: string, Network interface name. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="detachDisk">detachDisk(project, zone, instance, deviceName)</code>
+  <pre>Detaches a disk from an instance.
+
+Args:
+  project: string, Project name. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  instance: string, Instance name. (required)
+  deviceName: string, Disk device name to detach. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, zone, instance)</code>
+  <pre>Returns the specified instance resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  instance: string, Name of the instance resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # An instance resource.
+    "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING", "STOPPING", "STOPPED", "TERMINATED" (output only).
+    "kernel": "A String", # URL of the kernel resource to use when booting. In case of booting from persistent disk, this parameter is required. When booting from a disk image, it is optional, but may be provided to use a different kernel than the one associated with the image.
+    "kind": "compute#instance", # Type of the resource.
+    "canIpForward": True or False, # Allows this instance to send packets with source IP addresses other than its own and receive packets with destination IP addresses other than its own. If this instance will be used as an IP gateway or it will be set as the next-hop in a Route resource, say true. If unsure, leave this set to false.
+    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+    "zone": "A String", # URL of the zone where the instance resides (output only).
+    "tags": { # A set of instance tags. # A list of tags to be applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client on instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035.
+        "items": [ # An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035.
+          "A String",
+        ],
+        "fingerprint": "A String", # Fingerprint of this resource. A hash of the tags stored in this object. This field is used optimistic locking. An up-to-date tags fingerprint must be provided in order to modify tags.
+      },
+    "image": "A String", # An optional URL of the disk image resource to be installed on this instance; provided by the client when the instance is created. Alternatively to passing the image, the client may choose to boot from a persistent disk, by setting boot=true flag on one of the entries in disks[] collection.
+    "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them.
+      { # An instance-attached disk resource.
+          "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
+          "kind": "compute#attachedDisk", # Type of the resource.
+          "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value (output only).
+          "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
+          "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
+          "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
+          "type": "A String", # Type of the disk, either "SCRATCH" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
+        },
+    ],
+    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+    "statusMessage": "A String", # An optional, human-readable explanation of the status (output only).
+    "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created.
+    "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries.
+      { # A service account.
+        "scopes": [ # The list of scopes to be made available for this service account.
+          "A String",
+        ],
+        "email": "A String", # Email address of the service account.
+      },
+    ],
+    "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
+      { # A network interface resource attached to an instance.
+        "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
+          { # An access configuration attached to an instance's network interface.
+            "kind": "compute#accessConfig", # Type of the resource.
+            "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
+            "name": "A String", # Name of this access configuration.
+            "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If not specified, the external IP will be drawn from a shared ephemeral pool.
+          },
+        ],
+        "networkIP": "A String", # An optional IPV4 internal network address assigned to the instance for this network interface (output only).
+        "name": "A String", # Name of the network interface, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only).
+        "network": "A String", # URL of the network resource attached to this interface.
+      },
+    ],
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+    "metadata": { # A metadata key/value entry. # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information.
+      "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
+        {
+          "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
+          "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
+        },
+      ],
+      "kind": "compute#metadata", # Type of the resource.
+      "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getSerialPortOutput">getSerialPortOutput(project, zone, instance)</code>
+  <pre>Returns the specified instance's serial port output.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  instance: string, Name of the instance scoping this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # An instance serial console output.
+    "kind": "compute#serialPortOutput", # Type of the resource.
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "contents": "A String", # The contents of the console output.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, zone, body)</code>
+  <pre>Creates an instance resource in the specified project using the data included in the request.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An instance resource.
+  "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING", "STOPPING", "STOPPED", "TERMINATED" (output only).
+  "kernel": "A String", # URL of the kernel resource to use when booting. In case of booting from persistent disk, this parameter is required. When booting from a disk image, it is optional, but may be provided to use a different kernel than the one associated with the image.
+  "kind": "compute#instance", # Type of the resource.
+  "canIpForward": True or False, # Allows this instance to send packets with source IP addresses other than its own and receive packets with destination IP addresses other than its own. If this instance will be used as an IP gateway or it will be set as the next-hop in a Route resource, say true. If unsure, leave this set to false.
+  "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+  "zone": "A String", # URL of the zone where the instance resides (output only).
+  "tags": { # A set of instance tags. # A list of tags to be applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client on instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035.
+      "items": [ # An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035.
+        "A String",
+      ],
+      "fingerprint": "A String", # Fingerprint of this resource. A hash of the tags stored in this object. This field is used optimistic locking. An up-to-date tags fingerprint must be provided in order to modify tags.
+    },
+  "image": "A String", # An optional URL of the disk image resource to be installed on this instance; provided by the client when the instance is created. Alternatively to passing the image, the client may choose to boot from a persistent disk, by setting boot=true flag on one of the entries in disks[] collection.
+  "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them.
+    { # An instance-attached disk resource.
+        "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
+        "kind": "compute#attachedDisk", # Type of the resource.
+        "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value (output only).
+        "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
+        "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
+        "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
+        "type": "A String", # Type of the disk, either "SCRATCH" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
+      },
+  ],
+  "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+  "statusMessage": "A String", # An optional, human-readable explanation of the status (output only).
+  "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created.
+  "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries.
+    { # A service account.
+      "scopes": [ # The list of scopes to be made available for this service account.
+        "A String",
+      ],
+      "email": "A String", # Email address of the service account.
+    },
+  ],
+  "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
+    { # A network interface resource attached to an instance.
+      "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
+        { # An access configuration attached to an instance's network interface.
+          "kind": "compute#accessConfig", # Type of the resource.
+          "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
+          "name": "A String", # Name of this access configuration.
+          "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If not specified, the external IP will be drawn from a shared ephemeral pool.
+        },
+      ],
+      "networkIP": "A String", # An optional IPV4 internal network address assigned to the instance for this network interface (output only).
+      "name": "A String", # Name of the network interface, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only).
+      "network": "A String", # URL of the network resource attached to this interface.
+    },
+  ],
+  "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+  "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+  "selfLink": "A String", # Server defined URL for this resource (output only).
+  "metadata": { # A metadata key/value entry. # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information.
+    "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
+      {
+        "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
+        "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
+      },
+    ],
+    "kind": "compute#metadata", # Type of the resource.
+    "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
+  },
+}
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, zone, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of instance resources contained within the specified zone.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    { # Contains a list of instance resources.
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # A list of instance resources.
+      { # An instance resource.
+        "status": "A String", # Instance status. One of the following values: "PROVISIONING", "STAGING", "RUNNING", "STOPPING", "STOPPED", "TERMINATED" (output only).
+        "kernel": "A String", # URL of the kernel resource to use when booting. In case of booting from persistent disk, this parameter is required. When booting from a disk image, it is optional, but may be provided to use a different kernel than the one associated with the image.
+        "kind": "compute#instance", # Type of the resource.
+        "canIpForward": True or False, # Allows this instance to send packets with source IP addresses other than its own and receive packets with destination IP addresses other than its own. If this instance will be used as an IP gateway or it will be set as the next-hop in a Route resource, say true. If unsure, leave this set to false.
+        "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+        "zone": "A String", # URL of the zone where the instance resides (output only).
+        "tags": { # A set of instance tags. # A list of tags to be applied to this instance. Used to identify valid sources or targets for network firewalls. Provided by the client on instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035.
+            "items": [ # An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035.
+              "A String",
+            ],
+            "fingerprint": "A String", # Fingerprint of this resource. A hash of the tags stored in this object. This field is used optimistic locking. An up-to-date tags fingerprint must be provided in order to modify tags.
+          },
+        "image": "A String", # An optional URL of the disk image resource to be installed on this instance; provided by the client when the instance is created. Alternatively to passing the image, the client may choose to boot from a persistent disk, by setting boot=true flag on one of the entries in disks[] collection.
+        "disks": [ # Array of disks associated with this instance. Persistent disks must be created before you can assign them.
+          { # An instance-attached disk resource.
+              "deviceName": "A String", # Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
+              "kind": "compute#attachedDisk", # Type of the resource.
+              "index": 42, # A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value (output only).
+              "boot": True or False, # Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem.
+              "source": "A String", # Persistent disk only; the URL of the persistent disk resource.
+              "mode": "A String", # The mode in which to attach this disk, either "READ_WRITE" or "READ_ONLY".
+              "type": "A String", # Type of the disk, either "SCRATCH" or "PERSISTENT". Note that persistent disks must be created before you can specify them here.
+            },
+        ],
+        "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+        "statusMessage": "A String", # An optional, human-readable explanation of the status (output only).
+        "machineType": "A String", # URL of the machine type resource describing which machine type to use to host the instance; provided by the client when the instance is created.
+        "serviceAccounts": [ # A list of service accounts each with specified scopes, for which access tokens are to be made available to the instance through metadata queries.
+          { # A service account.
+            "scopes": [ # The list of scopes to be made available for this service account.
+              "A String",
+            ],
+            "email": "A String", # Email address of the service account.
+          },
+        ],
+        "networkInterfaces": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
+          { # A network interface resource attached to an instance.
+            "accessConfigs": [ # Array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.
+              { # An access configuration attached to an instance's network interface.
+                "kind": "compute#accessConfig", # Type of the resource.
+                "type": "ONE_TO_ONE_NAT", # Type of configuration. Must be set to "ONE_TO_ONE_NAT". This configures port-for-port NAT to the internet.
+                "name": "A String", # Name of this access configuration.
+                "natIP": "A String", # An external IP address associated with this instance. Specify an unused static IP address available to the project. If not specified, the external IP will be drawn from a shared ephemeral pool.
+              },
+            ],
+            "networkIP": "A String", # An optional IPV4 internal network address assigned to the instance for this network interface (output only).
+            "name": "A String", # Name of the network interface, determined by the server; for network devices, these are e.g. eth0, eth1, etc. (output only).
+            "network": "A String", # URL of the network resource attached to this interface.
+          },
+        ],
+        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+        "selfLink": "A String", # Server defined URL for this resource (output only).
+        "metadata": { # A metadata key/value entry. # Metadata key/value pairs assigned to this instance. Consists of custom metadata or predefined keys; see Instance documentation for more information.
+          "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
+            {
+              "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
+              "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
+            },
+          ],
+          "kind": "compute#metadata", # Type of the resource.
+          "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
+        },
+      },
+    ],
+    "kind": "compute#instanceList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</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="reset">reset(project, zone, instance)</code>
+  <pre>Performs a hard reset on the instance.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  instance: string, Name of the instance scoping this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="setMetadata">setMetadata(project, zone, instance, body)</code>
+  <pre>Sets metadata for the specified instance to the data included in the request.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  instance: string, Name of the instance scoping this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A metadata key/value entry.
+  "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
+    {
+      "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
+      "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
+    },
+  ],
+  "kind": "compute#metadata", # Type of the resource.
+  "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="setTags">setTags(project, zone, instance, body)</code>
+  <pre>Sets tags for the specified instance to the data included in the request.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  instance: string, Name of the instance scoping this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A set of instance tags.
+    "items": [ # An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035.
+      "A String",
+    ],
+    "fingerprint": "A String", # Fingerprint of this resource. A hash of the tags stored in this object. This field is used optimistic locking. An up-to-date tags fingerprint must be provided in order to modify tags.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.kernels.html b/docs/dyn/compute_v1beta15.kernels.html
new file mode 100644
index 0000000..561f447
--- /dev/null
+++ b/docs/dyn/compute_v1beta15.kernels.html
@@ -0,0 +1,167 @@
+<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="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.kernels.html">kernels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(project, kernel)</a></code></p>
+<p class="firstline">Returns the specified kernel resource.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of kernel resources available to the specified project.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(project, kernel)</code>
+  <pre>Returns the specified kernel resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  kernel: string, Name of the kernel resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # A kernel resource.
+    "kind": "compute#kernel", # Type of the resource.
+    "description": "A String", # An optional textual description of the resource.
+    "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this kernel.
+      "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
+      "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
+      "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
+      "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
+      "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
+    },
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "name": "A String", # Name of the resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of kernel resources available to the specified project.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    { # Contains a list of kernel resources.
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # The kernel resources.
+      { # A kernel resource.
+        "kind": "compute#kernel", # Type of the resource.
+        "description": "A String", # An optional textual description of the resource.
+        "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this kernel.
+          "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
+          "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
+          "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
+          "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
+          "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
+        },
+        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+        "selfLink": "A String", # Server defined URL for the resource (output only).
+        "name": "A String", # Name of the resource.
+      },
+    ],
+    "kind": "compute#kernelList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.machineTypes.html b/docs/dyn/compute_v1beta15.machineTypes.html
new file mode 100644
index 0000000..3e89462
--- /dev/null
+++ b/docs/dyn/compute_v1beta15.machineTypes.html
@@ -0,0 +1,274 @@
+<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="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.machineTypes.html">machineTypes</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of machine type resources grouped by scope.</p>
+<p class="toc_element">
+  <code><a href="#aggregatedList_next">aggregatedList_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="#get">get(project, zone, machineType)</a></code></p>
+<p class="firstline">Returns the specified machine type resource.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, zone, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of machine type resources available to the specified project.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="aggregatedList">aggregatedList(project, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of machine type resources grouped by scope.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": { # A map of scoped machine type lists.
+      "a_key": { # Name of the scope containing this set of machine types.
+        "machineTypes": [ # List of machine types contained in this scope.
+          { # A machine type resource.
+            "guestCpus": 42, # Count of CPUs exposed to the instance.
+            "imageSpaceGb": 42, # Space allotted for the image, defined in GB.
+            "kind": "compute#machineType", # Type of the resource.
+            "maximumPersistentDisksSizeGb": "A String", # Maximum total persistent disks size (GB) allowed.
+            "description": "A String", # An optional textual description of the resource.
+            "zone": "A String", # Url of the zone where the machine type resides (output only).
+            "maximumPersistentDisks": 42, # Maximum persistent disks allowed.
+            "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this machine type.
+              "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
+              "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
+              "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
+              "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
+              "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
+            },
+            "memoryMb": 42, # Physical memory assigned to the instance, defined in MB.
+            "scratchDisks": [ # List of extended scratch disks assigned to the instance.
+              {
+                "diskGb": 42, # Size of the scratch disk, defined in GB.
+              },
+            ],
+            "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+            "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+            "selfLink": "A String", # Server defined URL for the resource (output only).
+            "name": "A String", # Name of the resource.
+          },
+        ],
+        "warning": { # Informational warning which replaces the list of machine types when the list is empty.
+          "message": "A String", # Optional human-readable details for this warning.
+          "code": "A String", # The warning type identifier for this warning.
+          "data": [ # Metadata for this warning in 'key: value' format.
+            {
+              "value": "A String", # A warning data value corresponding to the key.
+              "key": "A String", # A key for the warning data.
+            },
+          ],
+        },
+      },
+    },
+    "kind": "compute#machineTypeAggregatedList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="aggregatedList_next">aggregatedList_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="get">get(project, zone, machineType)</code>
+  <pre>Returns the specified machine type resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  machineType: string, Name of the machine type resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # A machine type resource.
+    "guestCpus": 42, # Count of CPUs exposed to the instance.
+    "imageSpaceGb": 42, # Space allotted for the image, defined in GB.
+    "kind": "compute#machineType", # Type of the resource.
+    "maximumPersistentDisksSizeGb": "A String", # Maximum total persistent disks size (GB) allowed.
+    "description": "A String", # An optional textual description of the resource.
+    "zone": "A String", # Url of the zone where the machine type resides (output only).
+    "maximumPersistentDisks": 42, # Maximum persistent disks allowed.
+    "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this machine type.
+      "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
+      "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
+      "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
+      "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
+      "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
+    },
+    "memoryMb": 42, # Physical memory assigned to the instance, defined in MB.
+    "scratchDisks": [ # List of extended scratch disks assigned to the instance.
+      {
+        "diskGb": 42, # Size of the scratch disk, defined in GB.
+      },
+    ],
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "name": "A String", # Name of the resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, zone, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of machine type resources available to the specified project.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    { # Contains a list of machine type resources.
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # The machine type resources.
+      { # A machine type resource.
+        "guestCpus": 42, # Count of CPUs exposed to the instance.
+        "imageSpaceGb": 42, # Space allotted for the image, defined in GB.
+        "kind": "compute#machineType", # Type of the resource.
+        "maximumPersistentDisksSizeGb": "A String", # Maximum total persistent disks size (GB) allowed.
+        "description": "A String", # An optional textual description of the resource.
+        "zone": "A String", # Url of the zone where the machine type resides (output only).
+        "maximumPersistentDisks": 42, # Maximum persistent disks allowed.
+        "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this machine type.
+          "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
+          "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
+          "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
+          "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
+          "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
+        },
+        "memoryMb": 42, # Physical memory assigned to the instance, defined in MB.
+        "scratchDisks": [ # List of extended scratch disks assigned to the instance.
+          {
+            "diskGb": 42, # Size of the scratch disk, defined in GB.
+          },
+        ],
+        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+        "selfLink": "A String", # Server defined URL for the resource (output only).
+        "name": "A String", # Name of the resource.
+      },
+    ],
+    "kind": "compute#machineTypeList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.networks.html b/docs/dyn/compute_v1beta15.networks.html
new file mode 100644
index 0000000..997837a
--- /dev/null
+++ b/docs/dyn/compute_v1beta15.networks.html
@@ -0,0 +1,288 @@
+<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="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.networks.html">networks</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, network)</a></code></p>
+<p class="firstline">Deletes the specified network resource.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, network)</a></code></p>
+<p class="firstline">Returns the specified network resource.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, body)</a></code></p>
+<p class="firstline">Creates a network resource in the specified project using the data included in the request.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of network resources available to the specified project.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(project, network)</code>
+  <pre>Deletes the specified network resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  network: string, Name of the network resource to delete. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, network)</code>
+  <pre>Returns the specified network resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  network: string, Name of the network resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # A network resource.
+      "kind": "compute#network", # Type of the resource.
+      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+      "IPv4Range": "A String", # Required; The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.
+      "gatewayIPv4": "A String", # An optional address that is used for default routing to other networks. This must be within the range specified by IPv4Range, and is typically the first usable address in that range. If not specified, the default value is the first usable address in IPv4Range.
+      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+      "selfLink": "A String", # Server defined URL for the resource (output only).
+      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, body)</code>
+  <pre>Creates a network resource in the specified project using the data included in the request.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A network resource.
+    "kind": "compute#network", # Type of the resource.
+    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+    "IPv4Range": "A String", # Required; The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.
+    "gatewayIPv4": "A String", # An optional address that is used for default routing to other networks. This must be within the range specified by IPv4Range, and is typically the first usable address in that range. If not specified, the default value is the first usable address in IPv4Range.
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of network resources available to the specified project.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    { # Contains a list of network resources.
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # The network resources.
+      { # A network resource.
+          "kind": "compute#network", # Type of the resource.
+          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+          "IPv4Range": "A String", # Required; The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.
+          "gatewayIPv4": "A String", # An optional address that is used for default routing to other networks. This must be within the range specified by IPv4Range, and is typically the first usable address in that range. If not specified, the default value is the first usable address in IPv4Range.
+          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+          "selfLink": "A String", # Server defined URL for the resource (output only).
+          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+        },
+    ],
+    "kind": "compute#networkList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.projects.html b/docs/dyn/compute_v1beta15.projects.html
new file mode 100644
index 0000000..9881429
--- /dev/null
+++ b/docs/dyn/compute_v1beta15.projects.html
@@ -0,0 +1,190 @@
+<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="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.projects.html">projects</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(project)</a></code></p>
+<p class="firstline">Returns the specified project resource.</p>
+<p class="toc_element">
+  <code><a href="#setCommonInstanceMetadata">setCommonInstanceMetadata(project, body)</a></code></p>
+<p class="firstline">Sets metadata common to all instances within the specified project using the data included in the request.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(project)</code>
+  <pre>Returns the specified project resource.
+
+Args:
+  project: string, Name of the project resource to retrieve. (required)
+
+Returns:
+  An object of the form:
+
+    { # A project resource. Projects can be created only in the APIs Console. Unless marked otherwise, values can only be modified in the console.
+    "kind": "compute#project", # Type of the resource.
+    "description": "A String", # An optional textual description of the resource.
+    "commonInstanceMetadata": { # A metadata key/value entry. # Metadata key/value pairs available to all instances contained in this project.
+      "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
+        {
+          "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
+          "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
+        },
+      ],
+      "kind": "compute#metadata", # Type of the resource.
+      "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
+    },
+    "quotas": [ # Quotas assigned to this project.
+      { # A quotas entry.
+        "usage": 3.14, # Current usage of this metric.
+        "metric": "A String", # Name of the quota metric.
+        "limit": 3.14, # Quota limit for this metric.
+      },
+    ],
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "name": "A String", # Name of the resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="setCommonInstanceMetadata">setCommonInstanceMetadata(project, body)</code>
+  <pre>Sets metadata common to all instances within the specified project using the data included in the request.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A metadata key/value entry.
+  "items": [ # Array of key/value pairs. The total size of all keys and values must be less than 512 KB.
+    {
+      "value": "A String", # Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.
+      "key": "A String", # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project.
+    },
+  ],
+  "kind": "compute#metadata", # Type of the resource.
+  "fingerprint": "A String", # Fingerprint of this resource. A hash of the metadata's contents. This field is used for optimistic locking. An up-to-date metadata fingerprint must be provided in order to modify metadata.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.regionOperations.html b/docs/dyn/compute_v1beta15.regionOperations.html
new file mode 100644
index 0000000..5d637ff
--- /dev/null
+++ b/docs/dyn/compute_v1beta15.regionOperations.html
@@ -0,0 +1,239 @@
+<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="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.regionOperations.html">regionOperations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, region, operation)</a></code></p>
+<p class="firstline">Deletes the specified region-specific operation resource.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, region, operation)</a></code></p>
+<p class="firstline">Retrieves the specified region-specific operation resource.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, region, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of operation resources contained within the specified region.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(project, region, operation)</code>
+  <pre>Deletes the specified region-specific operation resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  operation: string, Name of the operation resource to delete. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, region, operation)</code>
+  <pre>Retrieves the specified region-specific operation resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  region: string, Name of the zone scoping this request. (required)
+  operation: string, Name of the operation resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, region, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of operation resources contained within the specified region.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    { # Contains a list of operation resources.
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # The operation resources.
+      { # An operation resource, used to manage asynchronous API requests.
+        "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+        "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+        "zone": "A String", # URL of the zone where the operation resides (output only).
+        "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+        "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+        "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+        "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+        "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+        "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+        "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+        "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+          {
+            "message": "A String", # Optional human-readable details for this warning.
+            "code": "A String", # The warning type identifier for this warning.
+            "data": [ # Metadata for this warning in 'key: value' format.
+              {
+                "value": "A String", # A warning data value corresponding to the key.
+                "key": "A String", # A key for the warning data.
+              },
+            ],
+          },
+        ],
+        "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+        "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+        "kind": "compute#operation", # Type of the resource.
+        "name": "A String", # Name of the resource (output only).
+        "region": "A String", # URL of the region where the operation resides (output only).
+        "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+          "errors": [ # The array of errors encountered while processing this operation.
+            {
+              "message": "A String", # An optional, human-readable error message.
+              "code": "A String", # The error type identifier for this error.
+              "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+            },
+          ],
+        },
+        "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+        "selfLink": "A String", # Server defined URL for the resource (output only).
+        "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+      },
+    ],
+    "kind": "compute#operationList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.regions.html b/docs/dyn/compute_v1beta15.regions.html
new file mode 100644
index 0000000..ecf4adc
--- /dev/null
+++ b/docs/dyn/compute_v1beta15.regions.html
@@ -0,0 +1,189 @@
+<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="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.regions.html">regions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(project, region)</a></code></p>
+<p class="firstline">Returns the specified region resource.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of region resources available to the specified project.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(project, region)</code>
+  <pre>Returns the specified region resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  region: string, Name of the region resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # Region resource.
+    "status": "A String", # Status of the region, "UP" or "DOWN".
+    "kind": "compute#region", # Type of the resource.
+    "description": "A String", # Textual description of the resource.
+    "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this region.
+      "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
+      "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
+      "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
+      "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
+      "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
+    },
+    "quotas": [ # Quotas assigned to this region.
+      { # A quotas entry.
+        "usage": 3.14, # Current usage of this metric.
+        "metric": "A String", # Name of the quota metric.
+        "limit": 3.14, # Quota limit for this metric.
+      },
+    ],
+    "zones": [ # A list of zones homed in this region, in the form of resource URLs.
+      "A String",
+    ],
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "name": "A String", # Name of the resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of region resources available to the specified project.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    { # Contains a list of region resources.
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # The region resources.
+      { # Region resource.
+        "status": "A String", # Status of the region, "UP" or "DOWN".
+        "kind": "compute#region", # Type of the resource.
+        "description": "A String", # Textual description of the resource.
+        "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this region.
+          "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
+          "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
+          "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
+          "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
+          "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
+        },
+        "quotas": [ # Quotas assigned to this region.
+          { # A quotas entry.
+            "usage": 3.14, # Current usage of this metric.
+            "metric": "A String", # Name of the quota metric.
+            "limit": 3.14, # Quota limit for this metric.
+          },
+        ],
+        "zones": [ # A list of zones homed in this region, in the form of resource URLs.
+          "A String",
+        ],
+        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+        "selfLink": "A String", # Server defined URL for the resource (output only).
+        "name": "A String", # Name of the resource.
+      },
+    ],
+    "kind": "compute#regionList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.routes.html b/docs/dyn/compute_v1beta15.routes.html
new file mode 100644
index 0000000..298d541
--- /dev/null
+++ b/docs/dyn/compute_v1beta15.routes.html
@@ -0,0 +1,348 @@
+<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="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.routes.html">routes</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, route)</a></code></p>
+<p class="firstline">Deletes the specified route resource.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, route)</a></code></p>
+<p class="firstline">Returns the specified route resource.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, body)</a></code></p>
+<p class="firstline">Creates a route resource in the specified project using the data included in the request.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of route resources available to the specified project.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(project, route)</code>
+  <pre>Deletes the specified route resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  route: string, Name of the route resource to delete. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, route)</code>
+  <pre>Returns the specified route resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  route: string, Name of the route resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # The route resource. A Route is a rule that specifies how certain packets should be handled by the virtual network. Routes are associated with VMs by tag and the set of Routes for a particular VM is called its routing table. For each packet leaving a VM, the system searches that VM's routing table for a single best matching Route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the Route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching Routes. The packet is then forwarded as specified by the next_hop field of the winning Route -- either to another VM destination, a VM gateway or a GCE operated gateway. Packets that do not match any Route in the sending VM's routing table will be dropped.
+      "nextHopGateway": "A String", # The URL to a gateway that should handle matching packets.
+      "priority": 42, # Breaks ties between Routes of equal specificity. Routes with smaller values win when tied with routes with larger values.
+      "kind": "compute#route", # Type of the resource.
+      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+      "tags": [ # A list of instance tags to which this route applies.
+        "A String",
+      ],
+      "nextHopInstance": "A String", # The URL to an instance that should handle matching packets.
+      "warnings": [ # If potential misconfigurations are detected for this route, this field will be populated with warning messages.
+        {
+          "message": "A String", # Optional human-readable details for this warning.
+          "code": "A String", # The warning type identifier for this warning.
+          "data": [ # Metadata for this warning in 'key: value' format.
+            {
+              "value": "A String", # A warning data value corresponding to the key.
+              "key": "A String", # A key for the warning data.
+            },
+          ],
+        },
+      ],
+      "nextHopNetwork": "A String", # The URL of the local network if it should handle matching packets.
+      "network": "A String", # URL of the network to which this route is applied; provided by the client when the route is created.
+      "selfLink": "A String", # Server defined URL for the resource (output only).
+      "destRange": "A String", # Which packets does this route apply to?
+      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+      "nextHopIp": "A String", # The network IP address of an instance that should handle matching packets.
+      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, body)</code>
+  <pre>Creates a route resource in the specified project using the data included in the request.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The route resource. A Route is a rule that specifies how certain packets should be handled by the virtual network. Routes are associated with VMs by tag and the set of Routes for a particular VM is called its routing table. For each packet leaving a VM, the system searches that VM's routing table for a single best matching Route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the Route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching Routes. The packet is then forwarded as specified by the next_hop field of the winning Route -- either to another VM destination, a VM gateway or a GCE operated gateway. Packets that do not match any Route in the sending VM's routing table will be dropped.
+    "nextHopGateway": "A String", # The URL to a gateway that should handle matching packets.
+    "priority": 42, # Breaks ties between Routes of equal specificity. Routes with smaller values win when tied with routes with larger values.
+    "kind": "compute#route", # Type of the resource.
+    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+    "tags": [ # A list of instance tags to which this route applies.
+      "A String",
+    ],
+    "nextHopInstance": "A String", # The URL to an instance that should handle matching packets.
+    "warnings": [ # If potential misconfigurations are detected for this route, this field will be populated with warning messages.
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "nextHopNetwork": "A String", # The URL of the local network if it should handle matching packets.
+    "network": "A String", # URL of the network to which this route is applied; provided by the client when the route is created.
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "destRange": "A String", # Which packets does this route apply to?
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "nextHopIp": "A String", # The network IP address of an instance that should handle matching packets.
+    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of route resources available to the specified project.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    { # Contains a list of route resources.
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # The route resources.
+      { # The route resource. A Route is a rule that specifies how certain packets should be handled by the virtual network. Routes are associated with VMs by tag and the set of Routes for a particular VM is called its routing table. For each packet leaving a VM, the system searches that VM's routing table for a single best matching Route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the Route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching Routes. The packet is then forwarded as specified by the next_hop field of the winning Route -- either to another VM destination, a VM gateway or a GCE operated gateway. Packets that do not match any Route in the sending VM's routing table will be dropped.
+          "nextHopGateway": "A String", # The URL to a gateway that should handle matching packets.
+          "priority": 42, # Breaks ties between Routes of equal specificity. Routes with smaller values win when tied with routes with larger values.
+          "kind": "compute#route", # Type of the resource.
+          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+          "tags": [ # A list of instance tags to which this route applies.
+            "A String",
+          ],
+          "nextHopInstance": "A String", # The URL to an instance that should handle matching packets.
+          "warnings": [ # If potential misconfigurations are detected for this route, this field will be populated with warning messages.
+            {
+              "message": "A String", # Optional human-readable details for this warning.
+              "code": "A String", # The warning type identifier for this warning.
+              "data": [ # Metadata for this warning in 'key: value' format.
+                {
+                  "value": "A String", # A warning data value corresponding to the key.
+                  "key": "A String", # A key for the warning data.
+                },
+              ],
+            },
+          ],
+          "nextHopNetwork": "A String", # The URL of the local network if it should handle matching packets.
+          "network": "A String", # URL of the network to which this route is applied; provided by the client when the route is created.
+          "selfLink": "A String", # Server defined URL for the resource (output only).
+          "destRange": "A String", # Which packets does this route apply to?
+          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+          "nextHopIp": "A String", # The network IP address of an instance that should handle matching packets.
+          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+        },
+    ],
+    "kind": "compute#routeList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.snapshots.html b/docs/dyn/compute_v1beta15.snapshots.html
new file mode 100644
index 0000000..54bfd27
--- /dev/null
+++ b/docs/dyn/compute_v1beta15.snapshots.html
@@ -0,0 +1,220 @@
+<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="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.snapshots.html">snapshots</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, snapshot)</a></code></p>
+<p class="firstline">Deletes the specified persistent disk snapshot resource.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, snapshot)</a></code></p>
+<p class="firstline">Returns the specified persistent disk snapshot resource.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of persistent disk snapshot resources contained within the specified project.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(project, snapshot)</code>
+  <pre>Deletes the specified persistent disk snapshot resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  snapshot: string, Name of the persistent disk snapshot resource to delete. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, snapshot)</code>
+  <pre>Returns the specified persistent disk snapshot resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  snapshot: string, Name of the persistent disk snapshot resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # A persistent disk snapshot resource.
+      "status": "A String", # The status of the persistent disk snapshot (output only).
+      "kind": "compute#snapshot", # Type of the resource.
+      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+      "sourceDisk": "A String", # The source disk used to create this snapshot. Once the source disk has been deleted from the system, this field will be cleared, and will not be set even if a disk with the same name has been re-created (output only).
+      "sourceDiskId": "A String", # The 'id' value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name.
+      "diskSizeGb": "A String", # Size of the persistent disk snapshot, specified in GB (output only).
+      "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+      "selfLink": "A String", # Server defined URL for the resource (output only).
+      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of persistent disk snapshot resources contained within the specified project.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    { # Contains a list of persistent disk snapshot resources.
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # The persistent snapshot resources.
+      { # A persistent disk snapshot resource.
+          "status": "A String", # The status of the persistent disk snapshot (output only).
+          "kind": "compute#snapshot", # Type of the resource.
+          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+          "sourceDisk": "A String", # The source disk used to create this snapshot. Once the source disk has been deleted from the system, this field will be cleared, and will not be set even if a disk with the same name has been re-created (output only).
+          "sourceDiskId": "A String", # The 'id' value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name.
+          "diskSizeGb": "A String", # Size of the persistent disk snapshot, specified in GB (output only).
+          "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+          "selfLink": "A String", # Server defined URL for the resource (output only).
+          "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.
+        },
+    ],
+    "kind": "compute#snapshotList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.zoneOperations.html b/docs/dyn/compute_v1beta15.zoneOperations.html
new file mode 100644
index 0000000..7eeed52
--- /dev/null
+++ b/docs/dyn/compute_v1beta15.zoneOperations.html
@@ -0,0 +1,239 @@
+<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="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.zoneOperations.html">zoneOperations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, zone, operation)</a></code></p>
+<p class="firstline">Deletes the specified zone-specific operation resource.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, zone, operation)</a></code></p>
+<p class="firstline">Retrieves the specified zone-specific operation resource.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, zone, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of operation resources contained within the specified zone.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(project, zone, operation)</code>
+  <pre>Deletes the specified zone-specific operation resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  operation: string, Name of the operation resource to delete. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, zone, operation)</code>
+  <pre>Retrieves the specified zone-specific operation resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  operation: string, Name of the operation resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # An operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+    "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "zone": "A String", # URL of the zone where the operation resides (output only).
+    "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+    "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+    "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+    "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+    "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+    "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+    "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+      {
+        "message": "A String", # Optional human-readable details for this warning.
+        "code": "A String", # The warning type identifier for this warning.
+        "data": [ # Metadata for this warning in 'key: value' format.
+          {
+            "value": "A String", # A warning data value corresponding to the key.
+            "key": "A String", # A key for the warning data.
+          },
+        ],
+      },
+    ],
+    "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+    "kind": "compute#operation", # Type of the resource.
+    "name": "A String", # Name of the resource (output only).
+    "region": "A String", # URL of the region where the operation resides (output only).
+    "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+      "errors": [ # The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # An optional, human-readable error message.
+          "code": "A String", # The error type identifier for this error.
+          "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, zone, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of operation resources contained within the specified zone.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    { # Contains a list of operation resources.
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # The operation resources.
+      { # An operation resource, used to manage asynchronous API requests.
+        "targetId": "A String", # Unique target id which identifies a particular incarnation of the target (output only).
+        "clientOperationId": "A String", # An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project (output only).
+        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+        "zone": "A String", # URL of the zone where the operation resides (output only).
+        "operationType": "A String", # Type of the operation. Examples include "insert", "update", and "delete" (output only).
+        "httpErrorMessage": "A String", # If operation fails, the HTTP error message returned, e.g. NOT FOUND. (output only).
+        "progress": 42, # An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses (output only).
+        "httpErrorStatusCode": 42, # If operation fails, the HTTP error status code returned, e.g. 404. (output only).
+        "statusMessage": "A String", # An optional textual description of the current status of the operation (output only).
+        "status": "A String", # Status of the operation. Can be one of the following: "PENDING", "RUNNING", or "DONE" (output only).
+        "insertTime": "A String", # The time that this operation was requested. This is in RFC 3339 format (output only).
+        "warnings": [ # If warning messages generated during processing of this operation, this field will be populated (output only).
+          {
+            "message": "A String", # Optional human-readable details for this warning.
+            "code": "A String", # The warning type identifier for this warning.
+            "data": [ # Metadata for this warning in 'key: value' format.
+              {
+                "value": "A String", # A warning data value corresponding to the key.
+                "key": "A String", # A key for the warning data.
+              },
+            ],
+          },
+        ],
+        "user": "A String", # User who requested the operation, for example "user@example.com" (output only).
+        "startTime": "A String", # The time that this operation was started by the server. This is in RFC 3339 format (output only).
+        "kind": "compute#operation", # Type of the resource.
+        "name": "A String", # Name of the resource (output only).
+        "region": "A String", # URL of the region where the operation resides (output only).
+        "error": { # If errors occurred during processing of this operation, this field will be populated (output only).
+          "errors": [ # The array of errors encountered while processing this operation.
+            {
+              "message": "A String", # An optional, human-readable error message.
+              "code": "A String", # The error type identifier for this error.
+              "location": "A String", # Indicates the field in the request which caused the error. This property is optional.
+            },
+          ],
+        },
+        "endTime": "A String", # The time that this operation was completed. This is in RFC 3339 format (output only).
+        "selfLink": "A String", # Server defined URL for the resource (output only).
+        "targetLink": "A String", # URL of the resource the operation is mutating (output only).
+      },
+    ],
+    "kind": "compute#operationList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1beta15.zones.html b/docs/dyn/compute_v1beta15.zones.html
new file mode 100644
index 0000000..d94f06f
--- /dev/null
+++ b/docs/dyn/compute_v1beta15.zones.html
@@ -0,0 +1,201 @@
+<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="compute_v1beta15.html">Compute Engine API</a> . <a href="compute_v1beta15.zones.html">zones</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(project, zone)</a></code></p>
+<p class="firstline">Returns the specified zone resource.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, maxResults=None, pageToken=None, filter=None)</a></code></p>
+<p class="firstline">Retrieves the list of zone resources available to the specified project.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(project, zone)</code>
+  <pre>Returns the specified zone resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # A zone resource.
+    "status": "A String", # Status of the zone. "UP" or "DOWN".
+    "kind": "compute#zone", # Type of the resource.
+    "description": "A String", # Textual description of the resource.
+    "maintenanceWindows": [ # Scheduled maintenance windows for the zone. When the zone is in a maintenance window, all resources which reside in the zone will be unavailable.
+      {
+        "endTime": "A String", # End time of the maintenance window, in RFC 3339 format.
+        "beginTime": "A String", # Begin time of the maintenance window, in RFC 3339 format.
+        "name": "A String", # Name of the maintenance window.
+        "description": "A String", # Textual description of the maintenance window.
+      },
+    ],
+    "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this zone.
+      "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
+      "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
+      "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
+      "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
+      "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
+    },
+    "region": "A String", # Full URL reference to the region which hosts the zone (output only).
+    "quotas": [ # Quotas assigned to this zone.
+      { # A quotas entry.
+        "usage": 3.14, # Current usage of this metric.
+        "metric": "A String", # Name of the quota metric.
+        "limit": 3.14, # Quota limit for this metric.
+      },
+    ],
+    "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for the resource (output only).
+    "name": "A String", # Name of the resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of zone resources available to the specified project.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  maxResults: integer, Optional. Maximum count of results to be returned. Maximum and default value is 100.
+  pageToken: string, Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.
+  filter: string, Optional. Filter expression for filtering listed resources.
+
+Returns:
+  An object of the form:
+
+    { # Contains a list of zone resources.
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # The zone resources.
+      { # A zone resource.
+        "status": "A String", # Status of the zone. "UP" or "DOWN".
+        "kind": "compute#zone", # Type of the resource.
+        "description": "A String", # Textual description of the resource.
+        "maintenanceWindows": [ # Scheduled maintenance windows for the zone. When the zone is in a maintenance window, all resources which reside in the zone will be unavailable.
+          {
+            "endTime": "A String", # End time of the maintenance window, in RFC 3339 format.
+            "beginTime": "A String", # Begin time of the maintenance window, in RFC 3339 format.
+            "name": "A String", # Name of the maintenance window.
+            "description": "A String", # Textual description of the maintenance window.
+          },
+        ],
+        "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this zone.
+          "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
+          "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
+          "state": "A String", # The deprecation state. Can be "DEPRECATED", "OBSOLETE", or "DELETED". Operations which create a new resource using a "DEPRECATED" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of "OBSOLETE" or "DELETED" resources will result in an error.
+          "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE.
+          "replacement": "A String", # A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind.
+        },
+        "region": "A String", # Full URL reference to the region which hosts the zone (output only).
+        "quotas": [ # Quotas assigned to this zone.
+          { # A quotas entry.
+            "usage": 3.14, # Current usage of this metric.
+            "metric": "A String", # Name of the quota metric.
+            "limit": 3.14, # Quota limit for this metric.
+          },
+        ],
+        "creationTimestamp": "A String", # Creation timestamp in RFC3339 text format (output only).
+        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+        "selfLink": "A String", # Server defined URL for the resource (output only).
+        "name": "A String", # Name of the resource.
+      },
+    ],
+    "kind": "compute#zoneList", # Type of resource.
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    "selfLink": "A String", # Server defined URL for this resource (output only).
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/coordinate_v1.location.html b/docs/dyn/coordinate_v1.location.html
index 97d000a..131ec9d 100644
--- a/docs/dyn/coordinate_v1.location.html
+++ b/docs/dyn/coordinate_v1.location.html
@@ -112,12 +112,6 @@
       "previousPageToken": "A String", # A token to provide to get the previous page of results.
       "kind": "coordinate#tokenPagination", # Identifies this object as pagination information.
     },
-    "pageInfo": { # Page information. # General pagination information.
-      "totalResults": 42, # Number of results available.
-      "kind": "coordinate#pageInfo", # Identifies this object as page information.
-      "resultPerPage": 42, # Number of results per page.
-      "startIndex": 42, # Page start index.
-    },
   }</pre>
 </div>
 
diff --git a/docs/dyn/coordinate_v1.schedule.html b/docs/dyn/coordinate_v1.schedule.html
index c48a46a..7a68369 100644
--- a/docs/dyn/coordinate_v1.schedule.html
+++ b/docs/dyn/coordinate_v1.schedule.html
@@ -78,10 +78,10 @@
   <code><a href="#get">get(teamId, jobId)</a></code></p>
 <p class="firstline">Retrieves the schedule for a job.</p>
 <p class="toc_element">
-  <code><a href="#patch">patch(teamId, jobId, body, allDay=None, startTime=None, endTime=None)</a></code></p>
+  <code><a href="#patch">patch(teamId, jobId, body, allDay=None, startTime=None, duration=None, endTime=None)</a></code></p>
 <p class="firstline">Replaces the schedule of a job with the provided schedule. This method supports patch semantics.</p>
 <p class="toc_element">
-  <code><a href="#update">update(teamId, jobId, body, allDay=None, startTime=None, endTime=None)</a></code></p>
+  <code><a href="#update">update(teamId, jobId, body, allDay=None, startTime=None, duration=None, endTime=None)</a></code></p>
 <p class="firstline">Replaces the schedule of a job with the provided schedule.</p>
 <h3>Method Details</h3>
 <div class="method">
@@ -96,6 +96,7 @@
   An object of the form:
 
     { # Job schedule.
+      "duration": "A String", # Job duration in milliseconds.
       "kind": "coordinate#schedule", # Identifies this object as a job schedule.
       "allDay": True or False, # Whether the job is scheduled for the whole day. Time of day in start/end times is ignored if this is true.
       "startTime": "A String", # Scheduled start time in milliseconds since epoch.
@@ -104,7 +105,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="patch">patch(teamId, jobId, body, allDay=None, startTime=None, endTime=None)</code>
+    <code class="details" id="patch">patch(teamId, jobId, body, allDay=None, startTime=None, duration=None, endTime=None)</code>
   <pre>Replaces the schedule of a job with the provided schedule. This method supports patch semantics.
 
 Args:
@@ -114,6 +115,7 @@
     The object takes the form of:
 
 { # Job schedule.
+    "duration": "A String", # Job duration in milliseconds.
     "kind": "coordinate#schedule", # Identifies this object as a job schedule.
     "allDay": True or False, # Whether the job is scheduled for the whole day. Time of day in start/end times is ignored if this is true.
     "startTime": "A String", # Scheduled start time in milliseconds since epoch.
@@ -122,12 +124,14 @@
 
   allDay: boolean, Whether the job is scheduled for the whole day. Time of day in start/end times is ignored if this is true.
   startTime: string, Scheduled start time in milliseconds since epoch.
+  duration: string, Job duration in milliseconds.
   endTime: string, Scheduled end time in milliseconds since epoch.
 
 Returns:
   An object of the form:
 
     { # Job schedule.
+      "duration": "A String", # Job duration in milliseconds.
       "kind": "coordinate#schedule", # Identifies this object as a job schedule.
       "allDay": True or False, # Whether the job is scheduled for the whole day. Time of day in start/end times is ignored if this is true.
       "startTime": "A String", # Scheduled start time in milliseconds since epoch.
@@ -136,7 +140,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="update">update(teamId, jobId, body, allDay=None, startTime=None, endTime=None)</code>
+    <code class="details" id="update">update(teamId, jobId, body, allDay=None, startTime=None, duration=None, endTime=None)</code>
   <pre>Replaces the schedule of a job with the provided schedule.
 
 Args:
@@ -146,6 +150,7 @@
     The object takes the form of:
 
 { # Job schedule.
+    "duration": "A String", # Job duration in milliseconds.
     "kind": "coordinate#schedule", # Identifies this object as a job schedule.
     "allDay": True or False, # Whether the job is scheduled for the whole day. Time of day in start/end times is ignored if this is true.
     "startTime": "A String", # Scheduled start time in milliseconds since epoch.
@@ -154,12 +159,14 @@
 
   allDay: boolean, Whether the job is scheduled for the whole day. Time of day in start/end times is ignored if this is true.
   startTime: string, Scheduled start time in milliseconds since epoch.
+  duration: string, Job duration in milliseconds.
   endTime: string, Scheduled end time in milliseconds since epoch.
 
 Returns:
   An object of the form:
 
     { # Job schedule.
+      "duration": "A String", # Job duration in milliseconds.
       "kind": "coordinate#schedule", # Identifies this object as a job schedule.
       "allDay": True or False, # Whether the job is scheduled for the whole day. Time of day in start/end times is ignored if this is true.
       "startTime": "A String", # Scheduled start time in milliseconds since epoch.
diff --git a/docs/dyn/datastore_v1beta1.datasets.html b/docs/dyn/datastore_v1beta1.datasets.html
new file mode 100644
index 0000000..24e7972
--- /dev/null
+++ b/docs/dyn/datastore_v1beta1.datasets.html
@@ -0,0 +1,1212 @@
+<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="datastore_v1beta1.html">Google Cloud Datastore API</a> . <a href="datastore_v1beta1.datasets.html">datasets</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#allocateIds">allocateIds(datasetId, body)</a></code></p>
+<p class="firstline">Allocate IDs for incomplete keys (useful for referencing an entity before it is inserted).</p>
+<p class="toc_element">
+  <code><a href="#beginTransaction">beginTransaction(datasetId, body)</a></code></p>
+<p class="firstline">Begin a new transaction.</p>
+<p class="toc_element">
+  <code><a href="#blindWrite">blindWrite(datasetId, body)</a></code></p>
+<p class="firstline">Create, delete or modify some entities outside a transaction.</p>
+<p class="toc_element">
+  <code><a href="#commit">commit(datasetId, body)</a></code></p>
+<p class="firstline">Commit a transaction, optionally creating, deleting or modifying some entities.</p>
+<p class="toc_element">
+  <code><a href="#lookup">lookup(datasetId, body)</a></code></p>
+<p class="firstline">Look up some entities by key.</p>
+<p class="toc_element">
+  <code><a href="#rollback">rollback(datasetId, body)</a></code></p>
+<p class="firstline">Roll back a transaction.</p>
+<p class="toc_element">
+  <code><a href="#runQuery">runQuery(datasetId, body)</a></code></p>
+<p class="firstline">Query for entities.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="allocateIds">allocateIds(datasetId, body)</code>
+  <pre>Allocate IDs for incomplete keys (useful for referencing an entity before it is inserted).
+
+Args:
+  datasetId: string, Identifies the dataset. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "keys": [ # A list of keys with incomplete key paths to allocate IDs for. No key may be reserved/read-only.
+      {
+        "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+          { # A (kind, ID/name) pair used to construct a key path.
+              #
+              # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+            "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+            "id": "A String", # The ID of the entity. Always > 0.
+            "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+          },
+        ],
+        "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+          "namespace": "A String", # The namespace.
+          "datasetId": "A String", # The dataset ID.
+        },
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "keys": [ # The keys specified in the request (in the same order), each with its key path completed with a newly allocated ID.
+      {
+        "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+          { # A (kind, ID/name) pair used to construct a key path.
+              #
+              # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+            "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+            "id": "A String", # The ID of the entity. Always > 0.
+            "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+          },
+        ],
+        "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+          "namespace": "A String", # The namespace.
+          "datasetId": "A String", # The dataset ID.
+        },
+      },
+    ],
+    "header": {
+      "kind": "datastore#responseHeader", # The kind, fixed to "datastore#responseHeader".
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="beginTransaction">beginTransaction(datasetId, body)</code>
+  <pre>Begin a new transaction.
+
+Args:
+  datasetId: string, Identifies the dataset. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "isolationLevel": "A String", # The transaction isolation level. Either snapshot or serializable. The default isolation level is snapshot isolation, which means that another transaction may not concurrently modify the data that is modified by this transaction. Optionally, a transaction can request to be made serializable which means that another transaction cannot concurrently modify the data that is read or modified by this transaction.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "header": {
+      "kind": "datastore#responseHeader", # The kind, fixed to "datastore#responseHeader".
+    },
+    "transaction": "A String", # The transaction identifier (always present).
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="blindWrite">blindWrite(datasetId, body)</code>
+  <pre>Create, delete or modify some entities outside a transaction.
+
+Args:
+  datasetId: string, Identifies the dataset. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "mutation": { # The mutation to perform.
+      "insert": [ # Entities to insert. Each inserted entity's key must have a complete path and must not be reserved/read-only.
+        {
+          "properties": { # The entity's properties.
+            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
+              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
+              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
+                {
+                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
+                  "doubleValue": 3.14, # A double value.
+                  "integerValue": "A String", # An integer value.
+                  "meaning": 42, # The meaning field is reserved and should not be used.
+                  "dateTimeValue": "A String", # A timestamp value.
+                  "keyValue": { # A key value.
+                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+                      { # A (kind, ID/name) pair used to construct a key path.
+                          #
+                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                        "id": "A String", # The ID of the entity. Always > 0.
+                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+                      },
+                    ],
+                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+                      "namespace": "A String", # The namespace.
+                      "datasetId": "A String", # The dataset ID.
+                    },
+                  },
+                  "stringValue": "A String", # A UTF-8 encoded string value.
+                  "indexed": True or False, # If the value should be indexed.
+                      #
+                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
+                  "blobValue": "A String", # A blob value.
+                  "booleanValue": True or False, # A boolean value.
+                  "blobKeyValue": "A String", # A blob key value.
+                },
+              ],
+            },
+          },
+          "key": { # The entity's key.
+              #
+              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
+            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+              { # A (kind, ID/name) pair used to construct a key path.
+                  #
+                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                "id": "A String", # The ID of the entity. Always > 0.
+                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+              },
+            ],
+            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+              "namespace": "A String", # The namespace.
+              "datasetId": "A String", # The dataset ID.
+            },
+          },
+        },
+      ],
+      "force": True or False, # Ignore a user specified read-only period. Optional.
+      "insertAutoId": [ # Insert entities with a newly allocated ID. Each inserted entity's key must omit the final identifier in its path and must not be reserved/read-only.
+        {
+          "properties": { # The entity's properties.
+            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
+              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
+              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
+                {
+                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
+                  "doubleValue": 3.14, # A double value.
+                  "integerValue": "A String", # An integer value.
+                  "meaning": 42, # The meaning field is reserved and should not be used.
+                  "dateTimeValue": "A String", # A timestamp value.
+                  "keyValue": { # A key value.
+                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+                      { # A (kind, ID/name) pair used to construct a key path.
+                          #
+                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                        "id": "A String", # The ID of the entity. Always > 0.
+                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+                      },
+                    ],
+                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+                      "namespace": "A String", # The namespace.
+                      "datasetId": "A String", # The dataset ID.
+                    },
+                  },
+                  "stringValue": "A String", # A UTF-8 encoded string value.
+                  "indexed": True or False, # If the value should be indexed.
+                      #
+                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
+                  "blobValue": "A String", # A blob value.
+                  "booleanValue": True or False, # A boolean value.
+                  "blobKeyValue": "A String", # A blob key value.
+                },
+              ],
+            },
+          },
+          "key": { # The entity's key.
+              #
+              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
+            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+              { # A (kind, ID/name) pair used to construct a key path.
+                  #
+                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                "id": "A String", # The ID of the entity. Always > 0.
+                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+              },
+            ],
+            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+              "namespace": "A String", # The namespace.
+              "datasetId": "A String", # The dataset ID.
+            },
+          },
+        },
+      ],
+      "update": [ # Entities to update. Each updated entity's key must have a complete path and must not be reserved/read-only.
+        {
+          "properties": { # The entity's properties.
+            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
+              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
+              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
+                {
+                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
+                  "doubleValue": 3.14, # A double value.
+                  "integerValue": "A String", # An integer value.
+                  "meaning": 42, # The meaning field is reserved and should not be used.
+                  "dateTimeValue": "A String", # A timestamp value.
+                  "keyValue": { # A key value.
+                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+                      { # A (kind, ID/name) pair used to construct a key path.
+                          #
+                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                        "id": "A String", # The ID of the entity. Always > 0.
+                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+                      },
+                    ],
+                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+                      "namespace": "A String", # The namespace.
+                      "datasetId": "A String", # The dataset ID.
+                    },
+                  },
+                  "stringValue": "A String", # A UTF-8 encoded string value.
+                  "indexed": True or False, # If the value should be indexed.
+                      #
+                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
+                  "blobValue": "A String", # A blob value.
+                  "booleanValue": True or False, # A boolean value.
+                  "blobKeyValue": "A String", # A blob key value.
+                },
+              ],
+            },
+          },
+          "key": { # The entity's key.
+              #
+              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
+            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+              { # A (kind, ID/name) pair used to construct a key path.
+                  #
+                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                "id": "A String", # The ID of the entity. Always > 0.
+                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+              },
+            ],
+            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+              "namespace": "A String", # The namespace.
+              "datasetId": "A String", # The dataset ID.
+            },
+          },
+        },
+      ],
+      "delete": [ # Keys of entities to delete. Each key must have a complete key path and must not be reserved/read-only.
+        {
+          "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+            { # A (kind, ID/name) pair used to construct a key path.
+                #
+                # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+              "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+              "id": "A String", # The ID of the entity. Always > 0.
+              "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+            },
+          ],
+          "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+            "namespace": "A String", # The namespace.
+            "datasetId": "A String", # The dataset ID.
+          },
+        },
+      ],
+      "upsert": [ # Entities to upsert. Each upserted entity's key must have a complete path and must not be reserved/read-only.
+        {
+          "properties": { # The entity's properties.
+            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
+              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
+              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
+                {
+                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
+                  "doubleValue": 3.14, # A double value.
+                  "integerValue": "A String", # An integer value.
+                  "meaning": 42, # The meaning field is reserved and should not be used.
+                  "dateTimeValue": "A String", # A timestamp value.
+                  "keyValue": { # A key value.
+                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+                      { # A (kind, ID/name) pair used to construct a key path.
+                          #
+                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                        "id": "A String", # The ID of the entity. Always > 0.
+                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+                      },
+                    ],
+                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+                      "namespace": "A String", # The namespace.
+                      "datasetId": "A String", # The dataset ID.
+                    },
+                  },
+                  "stringValue": "A String", # A UTF-8 encoded string value.
+                  "indexed": True or False, # If the value should be indexed.
+                      #
+                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
+                  "blobValue": "A String", # A blob value.
+                  "booleanValue": True or False, # A boolean value.
+                  "blobKeyValue": "A String", # A blob key value.
+                },
+              ],
+            },
+          },
+          "key": { # The entity's key.
+              #
+              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
+            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+              { # A (kind, ID/name) pair used to construct a key path.
+                  #
+                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                "id": "A String", # The ID of the entity. Always > 0.
+                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+              },
+            ],
+            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+              "namespace": "A String", # The namespace.
+              "datasetId": "A String", # The dataset ID.
+            },
+          },
+        },
+      ],
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "header": {
+      "kind": "datastore#responseHeader", # The kind, fixed to "datastore#responseHeader".
+    },
+    "mutationResult": { # The result of performing the mutation (always present).
+      "insertAutoIdKeys": [ # Keys for insertAutoId entities. One per entity from the request, in the same order.
+        {
+          "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+            { # A (kind, ID/name) pair used to construct a key path.
+                #
+                # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+              "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+              "id": "A String", # The ID of the entity. Always > 0.
+              "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+            },
+          ],
+          "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+            "namespace": "A String", # The namespace.
+            "datasetId": "A String", # The dataset ID.
+          },
+        },
+      ],
+      "indexUpdates": 42, # Number of index writes.
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="commit">commit(datasetId, body)</code>
+  <pre>Commit a transaction, optionally creating, deleting or modifying some entities.
+
+Args:
+  datasetId: string, Identifies the dataset. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "transaction": "A String", # The transaction identifier, returned by a call to beginTransaction.
+    "mutation": { # The mutation to perform as part of this transaction. Optional.
+      "insert": [ # Entities to insert. Each inserted entity's key must have a complete path and must not be reserved/read-only.
+        {
+          "properties": { # The entity's properties.
+            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
+              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
+              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
+                {
+                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
+                  "doubleValue": 3.14, # A double value.
+                  "integerValue": "A String", # An integer value.
+                  "meaning": 42, # The meaning field is reserved and should not be used.
+                  "dateTimeValue": "A String", # A timestamp value.
+                  "keyValue": { # A key value.
+                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+                      { # A (kind, ID/name) pair used to construct a key path.
+                          #
+                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                        "id": "A String", # The ID of the entity. Always > 0.
+                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+                      },
+                    ],
+                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+                      "namespace": "A String", # The namespace.
+                      "datasetId": "A String", # The dataset ID.
+                    },
+                  },
+                  "stringValue": "A String", # A UTF-8 encoded string value.
+                  "indexed": True or False, # If the value should be indexed.
+                      #
+                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
+                  "blobValue": "A String", # A blob value.
+                  "booleanValue": True or False, # A boolean value.
+                  "blobKeyValue": "A String", # A blob key value.
+                },
+              ],
+            },
+          },
+          "key": { # The entity's key.
+              #
+              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
+            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+              { # A (kind, ID/name) pair used to construct a key path.
+                  #
+                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                "id": "A String", # The ID of the entity. Always > 0.
+                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+              },
+            ],
+            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+              "namespace": "A String", # The namespace.
+              "datasetId": "A String", # The dataset ID.
+            },
+          },
+        },
+      ],
+      "force": True or False, # Ignore a user specified read-only period. Optional.
+      "insertAutoId": [ # Insert entities with a newly allocated ID. Each inserted entity's key must omit the final identifier in its path and must not be reserved/read-only.
+        {
+          "properties": { # The entity's properties.
+            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
+              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
+              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
+                {
+                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
+                  "doubleValue": 3.14, # A double value.
+                  "integerValue": "A String", # An integer value.
+                  "meaning": 42, # The meaning field is reserved and should not be used.
+                  "dateTimeValue": "A String", # A timestamp value.
+                  "keyValue": { # A key value.
+                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+                      { # A (kind, ID/name) pair used to construct a key path.
+                          #
+                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                        "id": "A String", # The ID of the entity. Always > 0.
+                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+                      },
+                    ],
+                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+                      "namespace": "A String", # The namespace.
+                      "datasetId": "A String", # The dataset ID.
+                    },
+                  },
+                  "stringValue": "A String", # A UTF-8 encoded string value.
+                  "indexed": True or False, # If the value should be indexed.
+                      #
+                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
+                  "blobValue": "A String", # A blob value.
+                  "booleanValue": True or False, # A boolean value.
+                  "blobKeyValue": "A String", # A blob key value.
+                },
+              ],
+            },
+          },
+          "key": { # The entity's key.
+              #
+              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
+            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+              { # A (kind, ID/name) pair used to construct a key path.
+                  #
+                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                "id": "A String", # The ID of the entity. Always > 0.
+                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+              },
+            ],
+            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+              "namespace": "A String", # The namespace.
+              "datasetId": "A String", # The dataset ID.
+            },
+          },
+        },
+      ],
+      "update": [ # Entities to update. Each updated entity's key must have a complete path and must not be reserved/read-only.
+        {
+          "properties": { # The entity's properties.
+            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
+              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
+              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
+                {
+                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
+                  "doubleValue": 3.14, # A double value.
+                  "integerValue": "A String", # An integer value.
+                  "meaning": 42, # The meaning field is reserved and should not be used.
+                  "dateTimeValue": "A String", # A timestamp value.
+                  "keyValue": { # A key value.
+                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+                      { # A (kind, ID/name) pair used to construct a key path.
+                          #
+                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                        "id": "A String", # The ID of the entity. Always > 0.
+                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+                      },
+                    ],
+                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+                      "namespace": "A String", # The namespace.
+                      "datasetId": "A String", # The dataset ID.
+                    },
+                  },
+                  "stringValue": "A String", # A UTF-8 encoded string value.
+                  "indexed": True or False, # If the value should be indexed.
+                      #
+                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
+                  "blobValue": "A String", # A blob value.
+                  "booleanValue": True or False, # A boolean value.
+                  "blobKeyValue": "A String", # A blob key value.
+                },
+              ],
+            },
+          },
+          "key": { # The entity's key.
+              #
+              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
+            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+              { # A (kind, ID/name) pair used to construct a key path.
+                  #
+                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                "id": "A String", # The ID of the entity. Always > 0.
+                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+              },
+            ],
+            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+              "namespace": "A String", # The namespace.
+              "datasetId": "A String", # The dataset ID.
+            },
+          },
+        },
+      ],
+      "delete": [ # Keys of entities to delete. Each key must have a complete key path and must not be reserved/read-only.
+        {
+          "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+            { # A (kind, ID/name) pair used to construct a key path.
+                #
+                # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+              "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+              "id": "A String", # The ID of the entity. Always > 0.
+              "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+            },
+          ],
+          "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+            "namespace": "A String", # The namespace.
+            "datasetId": "A String", # The dataset ID.
+          },
+        },
+      ],
+      "upsert": [ # Entities to upsert. Each upserted entity's key must have a complete path and must not be reserved/read-only.
+        {
+          "properties": { # The entity's properties.
+            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
+              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
+              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
+                {
+                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
+                  "doubleValue": 3.14, # A double value.
+                  "integerValue": "A String", # An integer value.
+                  "meaning": 42, # The meaning field is reserved and should not be used.
+                  "dateTimeValue": "A String", # A timestamp value.
+                  "keyValue": { # A key value.
+                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+                      { # A (kind, ID/name) pair used to construct a key path.
+                          #
+                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                        "id": "A String", # The ID of the entity. Always > 0.
+                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+                      },
+                    ],
+                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+                      "namespace": "A String", # The namespace.
+                      "datasetId": "A String", # The dataset ID.
+                    },
+                  },
+                  "stringValue": "A String", # A UTF-8 encoded string value.
+                  "indexed": True or False, # If the value should be indexed.
+                      #
+                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
+                  "blobValue": "A String", # A blob value.
+                  "booleanValue": True or False, # A boolean value.
+                  "blobKeyValue": "A String", # A blob key value.
+                },
+              ],
+            },
+          },
+          "key": { # The entity's key.
+              #
+              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
+            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+              { # A (kind, ID/name) pair used to construct a key path.
+                  #
+                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                "id": "A String", # The ID of the entity. Always > 0.
+                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+              },
+            ],
+            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+              "namespace": "A String", # The namespace.
+              "datasetId": "A String", # The dataset ID.
+            },
+          },
+        },
+      ],
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "header": {
+      "kind": "datastore#responseHeader", # The kind, fixed to "datastore#responseHeader".
+    },
+    "mutationResult": { # The result of performing the mutation (if any).
+      "insertAutoIdKeys": [ # Keys for insertAutoId entities. One per entity from the request, in the same order.
+        {
+          "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+            { # A (kind, ID/name) pair used to construct a key path.
+                #
+                # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+              "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+              "id": "A String", # The ID of the entity. Always > 0.
+              "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+            },
+          ],
+          "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+            "namespace": "A String", # The namespace.
+            "datasetId": "A String", # The dataset ID.
+          },
+        },
+      ],
+      "indexUpdates": 42, # Number of index writes.
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="lookup">lookup(datasetId, body)</code>
+  <pre>Look up some entities by key.
+
+Args:
+  datasetId: string, Identifies the dataset. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "keys": [ # Keys of entities to look up from the datastore.
+      {
+        "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+          { # A (kind, ID/name) pair used to construct a key path.
+              #
+              # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+            "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+            "id": "A String", # The ID of the entity. Always > 0.
+            "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+          },
+        ],
+        "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+          "namespace": "A String", # The namespace.
+          "datasetId": "A String", # The dataset ID.
+        },
+      },
+    ],
+    "readOptions": { # Options for this lookup request. Optional.
+      "transaction": "A String", # The transaction to use. Optional.
+      "readConsistency": "A String", # The read consistency to use. One of default, strong, or eventual. Cannot be set when transaction is set. Lookup and ancestor queries default to strong, global queries default to eventual and cannot be set to strong. Optional. Default is default.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "deferred": [ # A list of keys that were not looked up due to resource constraints.
+      {
+        "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+          { # A (kind, ID/name) pair used to construct a key path.
+              #
+              # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+            "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+            "id": "A String", # The ID of the entity. Always > 0.
+            "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+          },
+        ],
+        "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+          "namespace": "A String", # The namespace.
+          "datasetId": "A String", # The dataset ID.
+        },
+      },
+    ],
+    "missing": [ # Entities not found, with only the key populated.
+      {
+        "entity": { # The resulting entity.
+          "properties": { # The entity's properties.
+            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
+              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
+              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
+                {
+                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
+                  "doubleValue": 3.14, # A double value.
+                  "integerValue": "A String", # An integer value.
+                  "meaning": 42, # The meaning field is reserved and should not be used.
+                  "dateTimeValue": "A String", # A timestamp value.
+                  "keyValue": { # A key value.
+                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+                      { # A (kind, ID/name) pair used to construct a key path.
+                          #
+                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                        "id": "A String", # The ID of the entity. Always > 0.
+                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+                      },
+                    ],
+                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+                      "namespace": "A String", # The namespace.
+                      "datasetId": "A String", # The dataset ID.
+                    },
+                  },
+                  "stringValue": "A String", # A UTF-8 encoded string value.
+                  "indexed": True or False, # If the value should be indexed.
+                      #
+                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
+                  "blobValue": "A String", # A blob value.
+                  "booleanValue": True or False, # A boolean value.
+                  "blobKeyValue": "A String", # A blob key value.
+                },
+              ],
+            },
+          },
+          "key": { # The entity's key.
+              #
+              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
+            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+              { # A (kind, ID/name) pair used to construct a key path.
+                  #
+                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                "id": "A String", # The ID of the entity. Always > 0.
+                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+              },
+            ],
+            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+              "namespace": "A String", # The namespace.
+              "datasetId": "A String", # The dataset ID.
+            },
+          },
+        },
+      },
+    ],
+    "header": {
+      "kind": "datastore#responseHeader", # The kind, fixed to "datastore#responseHeader".
+    },
+    "found": [ # Entities found.
+      {
+        "entity": { # The resulting entity.
+          "properties": { # The entity's properties.
+            "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
+              "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
+              "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
+                {
+                  "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
+                  "doubleValue": 3.14, # A double value.
+                  "integerValue": "A String", # An integer value.
+                  "meaning": 42, # The meaning field is reserved and should not be used.
+                  "dateTimeValue": "A String", # A timestamp value.
+                  "keyValue": { # A key value.
+                    "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+                      { # A (kind, ID/name) pair used to construct a key path.
+                          #
+                          # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                        "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                        "id": "A String", # The ID of the entity. Always > 0.
+                        "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+                      },
+                    ],
+                    "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+                      "namespace": "A String", # The namespace.
+                      "datasetId": "A String", # The dataset ID.
+                    },
+                  },
+                  "stringValue": "A String", # A UTF-8 encoded string value.
+                  "indexed": True or False, # If the value should be indexed.
+                      #
+                      # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
+                  "blobValue": "A String", # A blob value.
+                  "booleanValue": True or False, # A boolean value.
+                  "blobKeyValue": "A String", # A blob key value.
+                },
+              ],
+            },
+          },
+          "key": { # The entity's key.
+              #
+              # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
+            "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+              { # A (kind, ID/name) pair used to construct a key path.
+                  #
+                  # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                "id": "A String", # The ID of the entity. Always > 0.
+                "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+              },
+            ],
+            "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+              "namespace": "A String", # The namespace.
+              "datasetId": "A String", # The dataset ID.
+            },
+          },
+        },
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="rollback">rollback(datasetId, body)</code>
+  <pre>Roll back a transaction.
+
+Args:
+  datasetId: string, Identifies the dataset. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "transaction": "A String", # The transaction identifier, returned by a call to beginTransaction.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "header": {
+      "kind": "datastore#responseHeader", # The kind, fixed to "datastore#responseHeader".
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="runQuery">runQuery(datasetId, body)</code>
+  <pre>Query for entities.
+
+Args:
+  datasetId: string, Identifies the dataset. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "query": { # The query to run. Either this field or field gql_query must be set, but not both.
+      "startCursor": "A String", # A starting point for the query results. Optional. Query cursors are returned in query result batches.
+      "kinds": [ # The kinds to query (if empty, returns entities from all kinds).
+        {
+          "name": "A String", # The name of the kind.
+        },
+      ],
+      "projection": [ # The projection to return. If not set the entire entity is returned.
+        {
+          "aggregationFunction": "A String", # The aggregation function to apply to the property. Optional. Can only be used when grouping by at least one property. Must then be set on all properties in the projection that are not being grouped by. Aggregation functions: first selects the first result as determined by the query's order.
+          "property": { # The property to project.
+            "name": "A String", # The name of the property.
+          },
+        },
+      ],
+      "order": [ # The order to apply to the query results (if empty, order is unspecified).
+        {
+          "direction": "A String", # The direction to order by. One of ascending or descending. Optional, defaults to ascending.
+          "property": { # The property to order by.
+            "name": "A String", # The name of the property.
+          },
+        },
+      ],
+      "filter": { # The filter to apply (optional).
+        "compositeFilter": { # A composite filter.
+          "operator": "A String", # The operator for combining multiple filters. Only "and" is currently supported.
+          "filters": [ # The list of filters to combine. Must contain at least one filter.
+            # Object with schema name: Filter
+          ],
+        },
+        "propertyFilter": { # A filter on a property.
+          "operator": "A String", # The operator to filter by. One of lessThan, lessThanOrEqual, greaterThan, greaterThanOrEqual, equal, or hasAncestor.
+          "property": { # The property to filter by.
+            "name": "A String", # The name of the property.
+          },
+          "value": { # The value to compare the property to.
+            "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
+            "doubleValue": 3.14, # A double value.
+            "integerValue": "A String", # An integer value.
+            "meaning": 42, # The meaning field is reserved and should not be used.
+            "dateTimeValue": "A String", # A timestamp value.
+            "keyValue": { # A key value.
+              "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+                { # A (kind, ID/name) pair used to construct a key path.
+                    #
+                    # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                  "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                  "id": "A String", # The ID of the entity. Always > 0.
+                  "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+                },
+              ],
+              "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+                "namespace": "A String", # The namespace.
+                "datasetId": "A String", # The dataset ID.
+              },
+            },
+            "stringValue": "A String", # A UTF-8 encoded string value.
+            "indexed": True or False, # If the value should be indexed.
+                #
+                # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
+            "blobValue": "A String", # A blob value.
+            "booleanValue": True or False, # A boolean value.
+            "blobKeyValue": "A String", # A blob key value.
+          },
+        },
+      },
+      "limit": 42, # The maximum number of results to return. Applies after all other constraints. Optional.
+      "offset": 42, # The number of results to skip. Applies before limit, but after all other constraints (optional, defaults to 0).
+      "endCursor": "A String", # An ending point for the query results. Optional. Query cursors are returned in query result batches.
+      "groupBy": [ # The properties to group by (if empty, no grouping is applied to the result set).
+        {
+          "name": "A String", # The name of the property.
+        },
+      ],
+    },
+    "partitionId": { # Entities are partitioned into subsets, identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+      "namespace": "A String", # The namespace.
+      "datasetId": "A String", # The dataset ID.
+    },
+    "gqlQuery": { # The GQL query to run. Either this field or field query must be set, but not both.
+      "queryString": "A String",
+      "nameArgs": [ # A named argument must set field GqlQueryArg.name. No two named arguments may have the same name. For each non-reserved named binding site in the query string, there must be a named argument with that name, but not necessarily the inverse.
+        {
+          "cursor": "A String",
+          "name": "A String", # Must match regex "[A-Za-z_$][A-Za-z_$0-9]*". Must not match regex "__.*__". Must not be "".
+          "value": {
+            "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
+            "doubleValue": 3.14, # A double value.
+            "integerValue": "A String", # An integer value.
+            "meaning": 42, # The meaning field is reserved and should not be used.
+            "dateTimeValue": "A String", # A timestamp value.
+            "keyValue": { # A key value.
+              "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+                { # A (kind, ID/name) pair used to construct a key path.
+                    #
+                    # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                  "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                  "id": "A String", # The ID of the entity. Always > 0.
+                  "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+                },
+              ],
+              "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+                "namespace": "A String", # The namespace.
+                "datasetId": "A String", # The dataset ID.
+              },
+            },
+            "stringValue": "A String", # A UTF-8 encoded string value.
+            "indexed": True or False, # If the value should be indexed.
+                #
+                # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
+            "blobValue": "A String", # A blob value.
+            "booleanValue": True or False, # A boolean value.
+            "blobKeyValue": "A String", # A blob key value.
+          },
+        },
+      ],
+      "allowLiteral": True or False, # When false, the query string must not contain a literal.
+      "numberArgs": [ # Numbered binding site @1 references the first numbered argument, effectively using 1-based indexing, rather than the usual 0. A numbered argument must NOT set field GqlQueryArg.name. For each binding site numbered i in query_string, there must be an ith numbered argument. The inverse must also be true.
+        {
+          "cursor": "A String",
+          "name": "A String", # Must match regex "[A-Za-z_$][A-Za-z_$0-9]*". Must not match regex "__.*__". Must not be "".
+          "value": {
+            "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
+            "doubleValue": 3.14, # A double value.
+            "integerValue": "A String", # An integer value.
+            "meaning": 42, # The meaning field is reserved and should not be used.
+            "dateTimeValue": "A String", # A timestamp value.
+            "keyValue": { # A key value.
+              "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+                { # A (kind, ID/name) pair used to construct a key path.
+                    #
+                    # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                  "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                  "id": "A String", # The ID of the entity. Always > 0.
+                  "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+                },
+              ],
+              "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+                "namespace": "A String", # The namespace.
+                "datasetId": "A String", # The dataset ID.
+              },
+            },
+            "stringValue": "A String", # A UTF-8 encoded string value.
+            "indexed": True or False, # If the value should be indexed.
+                #
+                # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
+            "blobValue": "A String", # A blob value.
+            "booleanValue": True or False, # A boolean value.
+            "blobKeyValue": "A String", # A blob key value.
+          },
+        },
+      ],
+    },
+    "readOptions": { # The options for this query.
+      "transaction": "A String", # The transaction to use. Optional.
+      "readConsistency": "A String", # The read consistency to use. One of default, strong, or eventual. Cannot be set when transaction is set. Lookup and ancestor queries default to strong, global queries default to eventual and cannot be set to strong. Optional. Default is default.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "header": {
+      "kind": "datastore#responseHeader", # The kind, fixed to "datastore#responseHeader".
+    },
+    "batch": { # A batch of query results (always present).
+      "moreResults": "A String", # The state of the query after the current batch. One of notFinished, moreResultsAfterLimit, noMoreResults.
+      "entityResults": [ # The results for this batch.
+        {
+          "entity": { # The resulting entity.
+            "properties": { # The entity's properties.
+              "a_key": { # The name of the property. Properties with names matching regex "__.*__" are reserved. A reserved property name is forbidden in certain documented contexts. The name cannot be "".
+                "multi": True or False, # If this property contains a list of values. Input values may explicitly set multi to false, but otherwise false is always represented by omitting multi.
+                "values": [ # The value(s) of the property. When multi is false there is always exactly one value. When multi is true there are always one or more values. Each value can have only one value property populated. For example, you cannot have a values list of { values: [ { integerValue: 22, stringValue: "a" } ] }, but you can have { multi: true, values: [ { integerValue: 22 }, { stringValue: "a" } ] }.
+                  {
+                    "entityValue": # Object with schema name: Entity # An entity value. May have no key. May have a key with an incomplete key path. May have a reserved/read-only key.
+                    "doubleValue": 3.14, # A double value.
+                    "integerValue": "A String", # An integer value.
+                    "meaning": 42, # The meaning field is reserved and should not be used.
+                    "dateTimeValue": "A String", # A timestamp value.
+                    "keyValue": { # A key value.
+                      "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+                        { # A (kind, ID/name) pair used to construct a key path.
+                            #
+                            # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                          "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                          "id": "A String", # The ID of the entity. Always > 0.
+                          "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+                        },
+                      ],
+                      "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+                        "namespace": "A String", # The namespace.
+                        "datasetId": "A String", # The dataset ID.
+                      },
+                    },
+                    "stringValue": "A String", # A UTF-8 encoded string value.
+                    "indexed": True or False, # If the value should be indexed.
+                        #
+                        # The indexed property may be set for a null value. When indexed is true, stringValue is limited to 500 characters and the blob value is limited to 500 bytes. Input values by default have indexed set to true; however, you can explicitly set indexed to true if you want. (An output value never has indexed explicitly set to true.) If a value is itself an entity, it cannot have indexed set to true.
+                    "blobValue": "A String", # A blob value.
+                    "booleanValue": True or False, # A boolean value.
+                    "blobKeyValue": "A String", # A blob key value.
+                  },
+                ],
+              },
+            },
+            "key": { # The entity's key.
+                #
+                # An entity must have a key, unless otherwise documented (for example, an entity in Value.entityValue may have no key). An entity's kind is its key's path's last element's kind, or null if it has no key.
+              "path": [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors. An entity path is always fully complete: ALL of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. A path can never be empty.
+                { # A (kind, ID/name) pair used to construct a key path.
+                    #
+                    # At most one of name or ID may be set. If either is set, the element is complete. If neither is set, the element is incomplete.
+                  "kind": "A String", # The kind of the entity. Kinds matching regex "__.*__" are reserved/read-only. Cannot be "".
+                  "id": "A String", # The ID of the entity. Always > 0.
+                  "name": "A String", # The name of the entity. Names matching regex "__.*__" are reserved/read-only. Cannot be "".
+                },
+              ],
+              "partitionId": { # Entities are partitioned into subsets, currently identified by a dataset (usually implicitly specified by the project) and namespace ID. Queries are scoped to a single partition.
+                "namespace": "A String", # The namespace.
+                "datasetId": "A String", # The dataset ID.
+              },
+            },
+          },
+        },
+      ],
+      "skippedResults": 42, # The number of results skipped because of Query.offset.
+      "endCursor": "A String", # A cursor that points to the position after the last result in the batch. May be absent.
+      "entityResultType": "A String", # The result type for every entity in entityResults. full for full entities, projection for entities with only projected properties, keyOnly for entities with only a key.
+    },
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/datastore_v1beta1.html b/docs/dyn/datastore_v1beta1.html
new file mode 100644
index 0000000..8156786
--- /dev/null
+++ b/docs/dyn/datastore_v1beta1.html
@@ -0,0 +1,82 @@
+<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="datastore_v1beta1.html">Google Cloud Datastore API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="datastore_v1beta1.datasets.html">datasets()</a></code>
+</p>
+<p class="firstline">Returns the datasets Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_3.dimensionValues.html b/docs/dyn/dfareporting_v1_3.dimensionValues.html
new file mode 100644
index 0000000..f9ed90f
--- /dev/null
+++ b/docs/dyn/dfareporting_v1_3.dimensionValues.html
@@ -0,0 +1,148 @@
+<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="dfareporting_v1_3.html">DFA Reporting API</a> . <a href="dfareporting_v1_3.dimensionValues.html">dimensionValues</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#query">query(profileId, body, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves list of report dimension values for a list of filters.</p>
+<p class="toc_element">
+  <code><a href="#query_next">query_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="query">query(profileId, body, pageToken=None, maxResults=None)</code>
+  <pre>Retrieves list of report dimension values for a list of filters.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a DimensionValuesRequest.
+    "dimensionName": "A String", # The name of the dimension for which values should be requested.
+    "startDate": "A String", # The start date of the date range for which to retrieve dimension values. A string of the format: "yyyy-MM-dd".
+    "kind": "dfareporting#dimensionValueRequest", # The kind of request this is, in this case dfareporting#dimensionValueRequest.
+    "endDate": "A String", # The end date of the date range for which to retrieve dimension values. A string of the format: "yyyy-MM-dd".
+    "filters": [ # The list of filters by which to filter values. The filters are ANDed.
+      { # Represents a dimension filter.
+        "dimensionName": "A String", # The name of the dimension to filter.
+        "kind": "dfareporting#dimensionFilter", # The kind of resource this is, in this case dfareporting#dimensionFilter.
+        "value": "A String", # The value of the dimension to filter.
+      },
+    ],
+  }
+
+  pageToken: string, The value of the nextToken from the previous result page.
+  maxResults: integer, Maximum number of results to return.
+
+Returns:
+  An object of the form:
+
+    { # Represents the list of DimensionValue resources.
+    "nextPageToken": "A String", # Continuation token used to page through dimension values. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
+    "items": [ # The dimension values returned in this response.
+      { # Represents a DimensionValue resource.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+            # - EXACT (default if not specified)
+            # - CONTAINS
+            # - BEGINS_WITH
+            # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+    ],
+    "kind": "dfareporting#dimensionValueList", # The kind of list this is, in this case dfareporting#dimensionValueList.
+    "etag": "A String", # The eTag of this response for caching purposes.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="query_next">query_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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_3.files.html b/docs/dyn/dfareporting_v1_3.files.html
new file mode 100644
index 0000000..2b67078
--- /dev/null
+++ b/docs/dyn/dfareporting_v1_3.files.html
@@ -0,0 +1,243 @@
+<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="dfareporting_v1_3.html">DFA Reporting API</a> . <a href="dfareporting_v1_3.files.html">files</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(reportId, fileId)</a></code></p>
+<p class="firstline">Retrieves a report file by its report ID and file ID.</p>
+<p class="toc_element">
+  <code><a href="#get_media">get_media(reportId, fileId)</a></code></p>
+<p class="firstline">Retrieves a report file by its report ID and file ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, pageToken=None, maxResults=None, sortOrder=None, sortField=None, scope=None)</a></code></p>
+<p class="firstline">Lists files for a user profile.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(reportId, fileId)</code>
+  <pre>Retrieves a report file by its report ID and file ID.
+
+Args:
+  reportId: string, The ID of the report. (required)
+  fileId: string, The ID of the report file. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a File resource. A File contains the meta-data for a report run. It shows the status of the run and holds the urls to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
+    "status": "A String", # The status of the report file, one of:
+        # - "PROCESSING"
+        # - "REPORT_AVAILABLE"
+        # - "FAILED"
+        # - "CANCELLED"
+    "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
+    "format": "A String", # The output format of the report. Only available once the file is available.
+    "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
+      "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+      "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+      "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+      "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+          # - "TODAY"
+          # - "YESTERDAY"
+          # - "WEEK_TO_DATE"
+          # - "MONTH_TO_DATE"
+          # - "QUARTER_TO_DATE"
+          # - "YEAR_TO_DATE"
+          # - "PREVIOUS_WEEK"
+          # - "PREVIOUS_MONTH"
+          # - "PREVIOUS_QUARTER"
+          # - "PREVIOUS_YEAR"
+          # - "LAST_7_DAYS"
+          # - "LAST_30_DAYS"
+          # - "LAST_90_DAYS"
+          # - "LAST_365_DAYS"
+          # - "LAST_24_MONTHS"
+    },
+    "fileName": "A String", # The file name of the file.
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "reportId": "A String", # The ID of the report this file was generated from.
+    "urls": { # The urls where the completed report file can be downloaded.
+      "browserUrl": "A String", # The url for downloading the report data through a browser.
+      "apiUrl": "A String", # The url for downloading the report data through the API.
+    },
+    "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
+    "id": "A String", # The unique ID of this report file.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get_media">get_media(reportId, fileId)</code>
+  <pre>Retrieves a report file by its report ID and file ID.
+
+Args:
+  reportId: string, The ID of the report. (required)
+  fileId: string, The ID of the report file. (required)
+
+Returns:
+  The media object as a string.
+
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, pageToken=None, maxResults=None, sortOrder=None, sortField=None, scope=None)</code>
+  <pre>Lists files for a user profile.
+
+Args:
+  profileId: string, The DFA profile ID. (required)
+  pageToken: string, The value of the nextToken from the previous result page.
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is 'DESCENDING'.
+    Allowed values
+      ASCENDING - Ascending order.
+      DESCENDING - Descending order.
+  sortField: string, The field by which to sort the list.
+    Allowed values
+      ID - Sort by file ID.
+      LAST_MODIFIED_TIME - Sort by 'lastmodifiedAt' field.
+  scope: string, The scope that defines which results are returned, default is 'MINE'.
+    Allowed values
+      ALL - All files in account.
+      MINE - My files.
+      SHARED_WITH_ME - Files shared with me.
+
+Returns:
+  An object of the form:
+
+    { # Represents the list of File resources.
+    "nextPageToken": "A String", # Continuation token used to page through files. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
+    "items": [ # The files returned in this response.
+      { # Represents a File resource. A File contains the meta-data for a report run. It shows the status of the run and holds the urls to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
+        "status": "A String", # The status of the report file, one of:
+            # - "PROCESSING"
+            # - "REPORT_AVAILABLE"
+            # - "FAILED"
+            # - "CANCELLED"
+        "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
+        "format": "A String", # The output format of the report. Only available once the file is available.
+        "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "fileName": "A String", # The file name of the file.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "reportId": "A String", # The ID of the report this file was generated from.
+        "urls": { # The urls where the completed report file can be downloaded.
+          "browserUrl": "A String", # The url for downloading the report data through a browser.
+          "apiUrl": "A String", # The url for downloading the report data through the API.
+        },
+        "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
+        "id": "A String", # The unique ID of this report file.
+      },
+    ],
+    "kind": "dfareporting#fileList", # The kind of list this is, in this case dfareporting#fileList.
+    "etag": "A String", # The eTag of this response for caching purposes.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_3.html b/docs/dyn/dfareporting_v1_3.html
new file mode 100644
index 0000000..1787adb
--- /dev/null
+++ b/docs/dyn/dfareporting_v1_3.html
@@ -0,0 +1,97 @@
+<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="dfareporting_v1_3.html">DFA Reporting API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="dfareporting_v1_3.dimensionValues.html">dimensionValues()</a></code>
+</p>
+<p class="firstline">Returns the dimensionValues Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v1_3.files.html">files()</a></code>
+</p>
+<p class="firstline">Returns the files Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v1_3.reports.html">reports()</a></code>
+</p>
+<p class="firstline">Returns the reports Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v1_3.userProfiles.html">userProfiles()</a></code>
+</p>
+<p class="firstline">Returns the userProfiles Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_3.reports.compatibleFields.html b/docs/dyn/dfareporting_v1_3.reports.compatibleFields.html
new file mode 100644
index 0000000..3ceb69c
--- /dev/null
+++ b/docs/dyn/dfareporting_v1_3.reports.compatibleFields.html
@@ -0,0 +1,763 @@
+<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="dfareporting_v1_3.html">DFA Reporting API</a> . <a href="dfareporting_v1_3.reports.html">reports</a> . <a href="dfareporting_v1_3.reports.compatibleFields.html">compatibleFields</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#query">query(profileId, body)</a></code></p>
+<p class="firstline">Returns the fields that are compatible to be selected in the respective sections of a report criteria, given the fields already selected in the input report and user permissions.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="query">query(profileId, body)</code>
+  <pre>Returns the fields that are compatible to be selected in the respective sections of a report criteria, given the fields already selected in the input report and user permissions.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a Report resource.
+    "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+      "conversionDimensions": [ # The list of conversion dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "reportProperties": { # The properties of the report.
+        "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+        "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+        "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+        "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+      },
+      "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+            # - EXACT (default if not specified)
+            # - CONTAINS
+            # - BEGINS_WITH
+            # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+    },
+    "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+    "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
+    "name": "A String", # The name of the report.
+    "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+      "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+      "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
+          # - DAY_OF_MONTH
+          # - WEEK_OF_MONTH
+          # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+      "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+      "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+      "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+      "repeats": "A String", # The interval for which the report is repeated, one of:
+          # - "DAILY", also requires field "every" to be set.
+          # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
+          # - "TWICE_A_MONTH"
+          # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
+          # - "QUARTERLY"
+          # - "YEARLY"
+      "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+        "A String",
+      ],
+    },
+    "format": "A String", # The output format of the report, one of:
+        # - "CSV"
+        # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+    "ownerProfileId": "A String", # The user profile id of the owner of this report.
+    "reachCriteria": { # The report criteria for a report of type "REACH".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+        "A String",
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+    },
+    "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+            # - EXACT (default if not specified)
+            # - CONTAINS
+            # - BEGINS_WITH
+            # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reportProperties": { # The properties of the report.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+      },
+    },
+    "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+    },
+    "delivery": { # The report's email delivery settings.
+      "message": "A String", # The message to be sent with each email.
+      "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
+          # - "ATTACHMENT"
+          # - "LINK"
+      "recipients": [ # The list of recipients to which to email the report.
+        { # Represents a recipient.
+          "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+          "deliveryType": "A String", # The delivery type for the recipient, one of:
+              # - "ATTACHMENT"
+              # - "LINK"
+          "email": "A String", # The email address of the recipient.
+        },
+      ],
+      "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+    },
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "criteria": { # The report criteria for a report of type "STANDARD".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of standard dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range for which this report should be run.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+    },
+    "id": "A String", # The unique ID identifying this report resource.
+    "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+    "fileName": "A String", # The file name used when generating report files for this report.
+    "type": "A String", # The type of the report, one of:
+        # - STANDARD
+        # - REACH
+        # - ACTIVE_GRP
+        # - PATH_TO_CONVERSION
+        # - FLOODLIGHT
+        # - CROSS_DIMENSION_REACH
+    "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+      "breakdown": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+        "A String",
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+      "dimension": "A String", # The dimension option, one of:
+          # - "ADVERTISER"
+          # - "CAMPAIGN"
+          # - "SITE_BY_ADVERTISER"
+          # - "SITE_BY_CAMPAIGN"
+    },
+    "accountId": "A String", # The account ID to which this report belongs.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a response to the queryCompatibleFields method.
+    "kind": "dfareporting#compatibleFields", # The kind of resource this is, in this case dfareporting#compatibleFields.
+    "reachReportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "REACH". # Contains items that are compatible to be selected for a report of type "REACH".
+      "kind": "dfareporting#reachReportCompatibleFields", # The kind of resource this is, in this case dfareporting#reachReportCompatibleFields.
+      "dimensions": [ # Dimensions which are compatible to be selected in the "dimensions" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "reachByFrequencyMetrics": [ # Metrics which are compatible to be selected in the "reachByFrequencyMetricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "pivotedActivityMetrics": [ # Metrics which are compatible to be selected as activity metrics to pivot on in the "activities" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "dimensionFilters": [ # Dimensions which are compatible to be selected in the "dimensionFilters" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+    },
+    "pathToConversionReportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "PATH_TO_CONVERSION". # Contains items that are compatible to be selected for a report of type "PATH_TO_CONVERSION".
+      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "perInteractionDimensions": [ # Per-interaction dimensions which are compatible to be selected in the "perInteractionDimensions" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "kind": "dfareporting#pathToConversionReportCompatibleFields", # The kind of resource this is, in this case dfareporting#pathToConversionReportCompatibleFields.
+      "conversionDimensions": [ # Conversion dimensions which are compatible to be selected in the "conversionDimensions" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "customFloodlightVariables": [ # Custom floodlight variables which are compatible to be selected in the "customFloodlightVariables" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+    },
+    "crossDimensionReachReportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "CROSS_DIMENSION_REACH". # Contains items that are compatible to be selected for a report of type "CROSS_DIMENSION_REACH".
+      "breakdown": [ # Dimensions which are compatible to be selected in the "breakdown" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "kind": "dfareporting#crossDimensionReachReportCompatibleFields", # The kind of resource this is, in this case dfareporting#crossDimensionReachReportCompatibleFields.
+      "overlapMetrics": [ # Metrics which are compatible to be selected in the "overlapMetricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "dimensionFilters": [ # Dimensions which are compatible to be selected in the "dimensionFilters" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+    },
+    "floodlightReportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "FlOODLIGHT". # Contains items that are compatible to be selected for a report of type "FLOODLIGHT".
+      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "kind": "dfareporting#floodlightReportCompatibleFields", # The kind of resource this is, in this case dfareporting#floodlightReportCompatibleFields.
+      "dimensionFilters": [ # Dimensions which are compatible to be selected in the "dimensionFilters" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "dimensions": [ # Dimensions which are compatible to be selected in the "dimensions" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+    },
+    "reportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "STANDARD". # Contains items that are compatible to be selected for a report of type "STANDARD".
+      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "kind": "dfareporting#reportCompatibleFields", # The kind of resource this is, in this case dfareporting#reportCompatibleFields.
+      "pivotedActivityMetrics": [ # Metrics which are compatible to be selected as activity metrics to pivot on in the "activities" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "dimensionFilters": [ # Dimensions which are compatible to be selected in the "dimensionFilters" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "dimensions": [ # Dimensions which are compatible to be selected in the "dimensions" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+    },
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_3.reports.files.html b/docs/dyn/dfareporting_v1_3.reports.files.html
new file mode 100644
index 0000000..60ba96a
--- /dev/null
+++ b/docs/dyn/dfareporting_v1_3.reports.files.html
@@ -0,0 +1,241 @@
+<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="dfareporting_v1_3.html">DFA Reporting API</a> . <a href="dfareporting_v1_3.reports.html">reports</a> . <a href="dfareporting_v1_3.reports.files.html">files</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, reportId, fileId)</a></code></p>
+<p class="firstline">Retrieves a report file.</p>
+<p class="toc_element">
+  <code><a href="#get_media">get_media(profileId, reportId, fileId)</a></code></p>
+<p class="firstline">Retrieves a report file.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, reportId, pageToken=None, sortField=None, maxResults=None, sortOrder=None)</a></code></p>
+<p class="firstline">Lists files for a report.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId, reportId, fileId)</code>
+  <pre>Retrieves a report file.
+
+Args:
+  profileId: string, The DFA profile ID. (required)
+  reportId: string, The ID of the report. (required)
+  fileId: string, The ID of the report file. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a File resource. A File contains the meta-data for a report run. It shows the status of the run and holds the urls to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
+    "status": "A String", # The status of the report file, one of:
+        # - "PROCESSING"
+        # - "REPORT_AVAILABLE"
+        # - "FAILED"
+        # - "CANCELLED"
+    "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
+    "format": "A String", # The output format of the report. Only available once the file is available.
+    "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
+      "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+      "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+      "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+      "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+          # - "TODAY"
+          # - "YESTERDAY"
+          # - "WEEK_TO_DATE"
+          # - "MONTH_TO_DATE"
+          # - "QUARTER_TO_DATE"
+          # - "YEAR_TO_DATE"
+          # - "PREVIOUS_WEEK"
+          # - "PREVIOUS_MONTH"
+          # - "PREVIOUS_QUARTER"
+          # - "PREVIOUS_YEAR"
+          # - "LAST_7_DAYS"
+          # - "LAST_30_DAYS"
+          # - "LAST_90_DAYS"
+          # - "LAST_365_DAYS"
+          # - "LAST_24_MONTHS"
+    },
+    "fileName": "A String", # The file name of the file.
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "reportId": "A String", # The ID of the report this file was generated from.
+    "urls": { # The urls where the completed report file can be downloaded.
+      "browserUrl": "A String", # The url for downloading the report data through a browser.
+      "apiUrl": "A String", # The url for downloading the report data through the API.
+    },
+    "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
+    "id": "A String", # The unique ID of this report file.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get_media">get_media(profileId, reportId, fileId)</code>
+  <pre>Retrieves a report file.
+
+Args:
+  profileId: string, The DFA profile ID. (required)
+  reportId: string, The ID of the report. (required)
+  fileId: string, The ID of the report file. (required)
+
+Returns:
+  The media object as a string.
+
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, reportId, pageToken=None, sortField=None, maxResults=None, sortOrder=None)</code>
+  <pre>Lists files for a report.
+
+Args:
+  profileId: string, The DFA profile ID. (required)
+  reportId: string, The ID of the parent report. (required)
+  pageToken: string, The value of the nextToken from the previous result page.
+  sortField: string, The field by which to sort the list.
+    Allowed values
+      ID - Sort by file ID.
+      LAST_MODIFIED_TIME - Sort by 'lastmodifiedAt' field.
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is 'DESCENDING'.
+    Allowed values
+      ASCENDING - Ascending order.
+      DESCENDING - Descending order.
+
+Returns:
+  An object of the form:
+
+    { # Represents the list of File resources.
+    "nextPageToken": "A String", # Continuation token used to page through files. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
+    "items": [ # The files returned in this response.
+      { # Represents a File resource. A File contains the meta-data for a report run. It shows the status of the run and holds the urls to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
+        "status": "A String", # The status of the report file, one of:
+            # - "PROCESSING"
+            # - "REPORT_AVAILABLE"
+            # - "FAILED"
+            # - "CANCELLED"
+        "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
+        "format": "A String", # The output format of the report. Only available once the file is available.
+        "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "fileName": "A String", # The file name of the file.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "reportId": "A String", # The ID of the report this file was generated from.
+        "urls": { # The urls where the completed report file can be downloaded.
+          "browserUrl": "A String", # The url for downloading the report data through a browser.
+          "apiUrl": "A String", # The url for downloading the report data through the API.
+        },
+        "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
+        "id": "A String", # The unique ID of this report file.
+      },
+    ],
+    "kind": "dfareporting#fileList", # The kind of list this is, in this case dfareporting#fileList.
+    "etag": "A String", # The eTag of this response for caching purposes.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_3.reports.html b/docs/dyn/dfareporting_v1_3.reports.html
new file mode 100644
index 0000000..deb2bfa
--- /dev/null
+++ b/docs/dyn/dfareporting_v1_3.reports.html
@@ -0,0 +1,4510 @@
+<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="dfareporting_v1_3.html">DFA Reporting API</a> . <a href="dfareporting_v1_3.reports.html">reports</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="dfareporting_v1_3.reports.compatibleFields.html">compatibleFields()</a></code>
+</p>
+<p class="firstline">Returns the compatibleFields Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dfareporting_v1_3.reports.files.html">files()</a></code>
+</p>
+<p class="firstline">Returns the files Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#delete">delete(profileId, reportId)</a></code></p>
+<p class="firstline">Deletes a report by its ID.</p>
+<p class="toc_element">
+  <code><a href="#get">get(profileId, reportId)</a></code></p>
+<p class="firstline">Retrieves a report by its ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(profileId, body)</a></code></p>
+<p class="firstline">Creates a report.</p>
+<p class="toc_element">
+  <code><a href="#list">list(profileId, pageToken=None, maxResults=None, sortOrder=None, sortField=None, scope=None)</a></code></p>
+<p class="firstline">Retrieves list of reports.</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="#patch">patch(profileId, reportId, body)</a></code></p>
+<p class="firstline">Updates a report. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#run">run(profileId, reportId, synchronous=None)</a></code></p>
+<p class="firstline">Runs a report.</p>
+<p class="toc_element">
+  <code><a href="#update">update(profileId, reportId, body)</a></code></p>
+<p class="firstline">Updates a report.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(profileId, reportId)</code>
+  <pre>Deletes a report by its ID.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  reportId: string, The ID of the report. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(profileId, reportId)</code>
+  <pre>Retrieves a report by its ID.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  reportId: string, The ID of the report. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a Report resource.
+      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+        "conversionDimensions": [ # The list of conversion dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "reportProperties": { # The properties of the report.
+          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+          "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        },
+        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+      },
+      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+      "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
+      "name": "A String", # The name of the report.
+      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
+            # - DAY_OF_MONTH
+            # - WEEK_OF_MONTH
+            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+        "repeats": "A String", # The interval for which the report is repeated, one of:
+            # - "DAILY", also requires field "every" to be set.
+            # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
+            # - "TWICE_A_MONTH"
+            # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
+            # - "QUARTERLY"
+            # - "YEARLY"
+        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+          "A String",
+        ],
+      },
+      "format": "A String", # The output format of the report, one of:
+          # - "CSV"
+          # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+      "ownerProfileId": "A String", # The user profile id of the owner of this report.
+      "reachCriteria": { # The report criteria for a report of type "REACH".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                  # - EXACT (default if not specified)
+                  # - CONTAINS
+                  # - BEGINS_WITH
+                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+          "A String",
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                  # - EXACT (default if not specified)
+                  # - CONTAINS
+                  # - BEGINS_WITH
+                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+      },
+      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reportProperties": { # The properties of the report.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+        },
+      },
+      "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+            # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+      },
+      "delivery": { # The report's email delivery settings.
+        "message": "A String", # The message to be sent with each email.
+        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
+            # - "ATTACHMENT"
+            # - "LINK"
+        "recipients": [ # The list of recipients to which to email the report.
+          { # Represents a recipient.
+            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+            "deliveryType": "A String", # The delivery type for the recipient, one of:
+                # - "ATTACHMENT"
+                # - "LINK"
+            "email": "A String", # The email address of the recipient.
+          },
+        ],
+        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+      },
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "criteria": { # The report criteria for a report of type "STANDARD".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                  # - EXACT (default if not specified)
+                  # - CONTAINS
+                  # - BEGINS_WITH
+                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of standard dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range for which this report should be run.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                  # - EXACT (default if not specified)
+                  # - CONTAINS
+                  # - BEGINS_WITH
+                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+      },
+      "id": "A String", # The unique ID identifying this report resource.
+      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+      "fileName": "A String", # The file name used when generating report files for this report.
+      "type": "A String", # The type of the report, one of:
+          # - STANDARD
+          # - REACH
+          # - ACTIVE_GRP
+          # - PATH_TO_CONVERSION
+          # - FLOODLIGHT
+          # - CROSS_DIMENSION_REACH
+      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+        "breakdown": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+          "A String",
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+        "dimension": "A String", # The dimension option, one of:
+            # - "ADVERTISER"
+            # - "CAMPAIGN"
+            # - "SITE_BY_ADVERTISER"
+            # - "SITE_BY_CAMPAIGN"
+      },
+      "accountId": "A String", # The account ID to which this report belongs.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(profileId, body)</code>
+  <pre>Creates a report.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a Report resource.
+    "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+      "conversionDimensions": [ # The list of conversion dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "reportProperties": { # The properties of the report.
+        "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+        "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+        "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+        "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+      },
+      "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+            # - EXACT (default if not specified)
+            # - CONTAINS
+            # - BEGINS_WITH
+            # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+    },
+    "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+    "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
+    "name": "A String", # The name of the report.
+    "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+      "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+      "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
+          # - DAY_OF_MONTH
+          # - WEEK_OF_MONTH
+          # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+      "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+      "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+      "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+      "repeats": "A String", # The interval for which the report is repeated, one of:
+          # - "DAILY", also requires field "every" to be set.
+          # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
+          # - "TWICE_A_MONTH"
+          # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
+          # - "QUARTERLY"
+          # - "YEARLY"
+      "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+        "A String",
+      ],
+    },
+    "format": "A String", # The output format of the report, one of:
+        # - "CSV"
+        # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+    "ownerProfileId": "A String", # The user profile id of the owner of this report.
+    "reachCriteria": { # The report criteria for a report of type "REACH".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+        "A String",
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+    },
+    "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+            # - EXACT (default if not specified)
+            # - CONTAINS
+            # - BEGINS_WITH
+            # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reportProperties": { # The properties of the report.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+      },
+    },
+    "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+    },
+    "delivery": { # The report's email delivery settings.
+      "message": "A String", # The message to be sent with each email.
+      "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
+          # - "ATTACHMENT"
+          # - "LINK"
+      "recipients": [ # The list of recipients to which to email the report.
+        { # Represents a recipient.
+          "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+          "deliveryType": "A String", # The delivery type for the recipient, one of:
+              # - "ATTACHMENT"
+              # - "LINK"
+          "email": "A String", # The email address of the recipient.
+        },
+      ],
+      "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+    },
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "criteria": { # The report criteria for a report of type "STANDARD".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of standard dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range for which this report should be run.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+    },
+    "id": "A String", # The unique ID identifying this report resource.
+    "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+    "fileName": "A String", # The file name used when generating report files for this report.
+    "type": "A String", # The type of the report, one of:
+        # - STANDARD
+        # - REACH
+        # - ACTIVE_GRP
+        # - PATH_TO_CONVERSION
+        # - FLOODLIGHT
+        # - CROSS_DIMENSION_REACH
+    "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+      "breakdown": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+        "A String",
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+      "dimension": "A String", # The dimension option, one of:
+          # - "ADVERTISER"
+          # - "CAMPAIGN"
+          # - "SITE_BY_ADVERTISER"
+          # - "SITE_BY_CAMPAIGN"
+    },
+    "accountId": "A String", # The account ID to which this report belongs.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a Report resource.
+      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+        "conversionDimensions": [ # The list of conversion dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "reportProperties": { # The properties of the report.
+          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+          "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        },
+        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+      },
+      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+      "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
+      "name": "A String", # The name of the report.
+      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
+            # - DAY_OF_MONTH
+            # - WEEK_OF_MONTH
+            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+        "repeats": "A String", # The interval for which the report is repeated, one of:
+            # - "DAILY", also requires field "every" to be set.
+            # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
+            # - "TWICE_A_MONTH"
+            # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
+            # - "QUARTERLY"
+            # - "YEARLY"
+        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+          "A String",
+        ],
+      },
+      "format": "A String", # The output format of the report, one of:
+          # - "CSV"
+          # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+      "ownerProfileId": "A String", # The user profile id of the owner of this report.
+      "reachCriteria": { # The report criteria for a report of type "REACH".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                  # - EXACT (default if not specified)
+                  # - CONTAINS
+                  # - BEGINS_WITH
+                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+          "A String",
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                  # - EXACT (default if not specified)
+                  # - CONTAINS
+                  # - BEGINS_WITH
+                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+      },
+      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reportProperties": { # The properties of the report.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+        },
+      },
+      "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+            # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+      },
+      "delivery": { # The report's email delivery settings.
+        "message": "A String", # The message to be sent with each email.
+        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
+            # - "ATTACHMENT"
+            # - "LINK"
+        "recipients": [ # The list of recipients to which to email the report.
+          { # Represents a recipient.
+            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+            "deliveryType": "A String", # The delivery type for the recipient, one of:
+                # - "ATTACHMENT"
+                # - "LINK"
+            "email": "A String", # The email address of the recipient.
+          },
+        ],
+        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+      },
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "criteria": { # The report criteria for a report of type "STANDARD".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                  # - EXACT (default if not specified)
+                  # - CONTAINS
+                  # - BEGINS_WITH
+                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of standard dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range for which this report should be run.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                  # - EXACT (default if not specified)
+                  # - CONTAINS
+                  # - BEGINS_WITH
+                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+      },
+      "id": "A String", # The unique ID identifying this report resource.
+      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+      "fileName": "A String", # The file name used when generating report files for this report.
+      "type": "A String", # The type of the report, one of:
+          # - STANDARD
+          # - REACH
+          # - ACTIVE_GRP
+          # - PATH_TO_CONVERSION
+          # - FLOODLIGHT
+          # - CROSS_DIMENSION_REACH
+      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+        "breakdown": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+          "A String",
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+        "dimension": "A String", # The dimension option, one of:
+            # - "ADVERTISER"
+            # - "CAMPAIGN"
+            # - "SITE_BY_ADVERTISER"
+            # - "SITE_BY_CAMPAIGN"
+      },
+      "accountId": "A String", # The account ID to which this report belongs.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(profileId, pageToken=None, maxResults=None, sortOrder=None, sortField=None, scope=None)</code>
+  <pre>Retrieves list of reports.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  pageToken: string, The value of the nextToken from the previous result page.
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is 'DESCENDING'.
+    Allowed values
+      ASCENDING - Ascending order.
+      DESCENDING - Descending order.
+  sortField: string, The field by which to sort the list.
+    Allowed values
+      ID - Sort by report ID.
+      LAST_MODIFIED_TIME - Sort by 'lastModifiedTime' field.
+      NAME - Sort by name of reports.
+  scope: string, The scope that defines which results are returned, default is 'MINE'.
+    Allowed values
+      ALL - All reports in account.
+      MINE - My reports.
+
+Returns:
+  An object of the form:
+
+    { # Represents the list of reports.
+    "nextPageToken": "A String", # Continuation token used to page through reports. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
+    "items": [ # The reports returned in this response.
+      { # Represents a Report resource.
+          "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+            "conversionDimensions": [ # The list of conversion dimensions the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                    # - "ASCENDING"
+                    # - "DESCENDING"
+              },
+            ],
+            "metricNames": [ # The list of names of metrics the report should include.
+              "A String",
+            ],
+            "dateRange": { # Represents a date range. # The date range this report should be run for.
+              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+                  # - "TODAY"
+                  # - "YESTERDAY"
+                  # - "WEEK_TO_DATE"
+                  # - "MONTH_TO_DATE"
+                  # - "QUARTER_TO_DATE"
+                  # - "YEAR_TO_DATE"
+                  # - "PREVIOUS_WEEK"
+                  # - "PREVIOUS_MONTH"
+                  # - "PREVIOUS_QUARTER"
+                  # - "PREVIOUS_YEAR"
+                  # - "LAST_7_DAYS"
+                  # - "LAST_30_DAYS"
+                  # - "LAST_90_DAYS"
+                  # - "LAST_365_DAYS"
+                  # - "LAST_24_MONTHS"
+            },
+            "reportProperties": { # The properties of the report.
+              "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+              "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+              "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+              "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+              "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+              "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+              "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+              "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+              "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+            },
+            "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                    # - "ASCENDING"
+                    # - "DESCENDING"
+              },
+            ],
+            "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                    # - EXACT (default if not specified)
+                    # - CONTAINS
+                    # - BEGINS_WITH
+                    # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "customRichMediaEvents": [ # The list of custom rich media events to include.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                    # - EXACT (default if not specified)
+                    # - CONTAINS
+                    # - BEGINS_WITH
+                    # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                  # - EXACT (default if not specified)
+                  # - CONTAINS
+                  # - BEGINS_WITH
+                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                    # - "ASCENDING"
+                    # - "DESCENDING"
+              },
+            ],
+          },
+          "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+          "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
+          "name": "A String", # The name of the report.
+          "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+            "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+            "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
+                # - DAY_OF_MONTH
+                # - WEEK_OF_MONTH
+                # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+            "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+            "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+            "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+            "repeats": "A String", # The interval for which the report is repeated, one of:
+                # - "DAILY", also requires field "every" to be set.
+                # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
+                # - "TWICE_A_MONTH"
+                # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
+                # - "QUARTERLY"
+                # - "YEARLY"
+            "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+              "A String",
+            ],
+          },
+          "format": "A String", # The output format of the report, one of:
+              # - "CSV"
+              # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+          "ownerProfileId": "A String", # The user profile id of the owner of this report.
+          "reachCriteria": { # The report criteria for a report of type "REACH".
+            "activities": { # Represents an activity group. # Activity group.
+              "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+              "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+                { # Represents a DimensionValue resource.
+                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                  "value": "A String", # The value of the dimension.
+                  "dimensionName": "A String", # The name of the dimension.
+                  "etag": "A String", # The eTag of this response for caching purposes.
+                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                      # - EXACT (default if not specified)
+                      # - CONTAINS
+                      # - BEGINS_WITH
+                      # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                  "id": "A String", # The ID associated with the value if available.
+                },
+              ],
+              "metricNames": [ # List of names of floodlight activity metrics.
+                "A String",
+              ],
+            },
+            "dimensions": [ # The list of dimensions the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                    # - "ASCENDING"
+                    # - "DESCENDING"
+              },
+            ],
+            "metricNames": [ # The list of names of metrics the report should include.
+              "A String",
+            ],
+            "dateRange": { # Represents a date range. # The date range this report should be run for.
+              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+                  # - "TODAY"
+                  # - "YESTERDAY"
+                  # - "WEEK_TO_DATE"
+                  # - "MONTH_TO_DATE"
+                  # - "QUARTER_TO_DATE"
+                  # - "YEAR_TO_DATE"
+                  # - "PREVIOUS_WEEK"
+                  # - "PREVIOUS_MONTH"
+                  # - "PREVIOUS_QUARTER"
+                  # - "PREVIOUS_YEAR"
+                  # - "LAST_7_DAYS"
+                  # - "LAST_30_DAYS"
+                  # - "LAST_90_DAYS"
+                  # - "LAST_365_DAYS"
+                  # - "LAST_24_MONTHS"
+            },
+            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+                # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                    # - EXACT (default if not specified)
+                    # - CONTAINS
+                    # - BEGINS_WITH
+                    # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+              "A String",
+            ],
+            "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+              "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+              "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+                { # Represents a DimensionValue resource.
+                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                  "value": "A String", # The value of the dimension.
+                  "dimensionName": "A String", # The name of the dimension.
+                  "etag": "A String", # The eTag of this response for caching purposes.
+                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                      # - EXACT (default if not specified)
+                      # - CONTAINS
+                      # - BEGINS_WITH
+                      # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                  "id": "A String", # The ID associated with the value if available.
+                },
+              ],
+            },
+          },
+          "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+            "dimensions": [ # The list of dimensions the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                    # - "ASCENDING"
+                    # - "DESCENDING"
+              },
+            ],
+            "metricNames": [ # The list of names of metrics the report should include.
+              "A String",
+            ],
+            "dateRange": { # Represents a date range. # The date range this report should be run for.
+              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+                  # - "TODAY"
+                  # - "YESTERDAY"
+                  # - "WEEK_TO_DATE"
+                  # - "MONTH_TO_DATE"
+                  # - "QUARTER_TO_DATE"
+                  # - "YEAR_TO_DATE"
+                  # - "PREVIOUS_WEEK"
+                  # - "PREVIOUS_MONTH"
+                  # - "PREVIOUS_QUARTER"
+                  # - "PREVIOUS_YEAR"
+                  # - "LAST_7_DAYS"
+                  # - "LAST_30_DAYS"
+                  # - "LAST_90_DAYS"
+                  # - "LAST_365_DAYS"
+                  # - "LAST_24_MONTHS"
+            },
+            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+                # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                    # - EXACT (default if not specified)
+                    # - CONTAINS
+                    # - BEGINS_WITH
+                    # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                  # - EXACT (default if not specified)
+                  # - CONTAINS
+                  # - BEGINS_WITH
+                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "customRichMediaEvents": [ # The list of custom rich media events to include.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                    # - EXACT (default if not specified)
+                    # - CONTAINS
+                    # - BEGINS_WITH
+                    # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "reportProperties": { # The properties of the report.
+              "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+              "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+              "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+            },
+          },
+          "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
+            "dateRange": { # Represents a date range. # The date range this report should be run for.
+              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+                  # - "TODAY"
+                  # - "YESTERDAY"
+                  # - "WEEK_TO_DATE"
+                  # - "MONTH_TO_DATE"
+                  # - "QUARTER_TO_DATE"
+                  # - "YEAR_TO_DATE"
+                  # - "PREVIOUS_WEEK"
+                  # - "PREVIOUS_MONTH"
+                  # - "PREVIOUS_QUARTER"
+                  # - "PREVIOUS_YEAR"
+                  # - "LAST_7_DAYS"
+                  # - "LAST_30_DAYS"
+                  # - "LAST_90_DAYS"
+                  # - "LAST_365_DAYS"
+                  # - "LAST_24_MONTHS"
+            },
+            "metricNames": [ # The list of names of metrics the report should include.
+              "A String",
+            ],
+            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+                # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+                # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                    # - EXACT (default if not specified)
+                    # - CONTAINS
+                    # - BEGINS_WITH
+                    # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "dimensions": [ # The list of dimensions the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                    # - "ASCENDING"
+                    # - "DESCENDING"
+              },
+            ],
+          },
+          "delivery": { # The report's email delivery settings.
+            "message": "A String", # The message to be sent with each email.
+            "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
+                # - "ATTACHMENT"
+                # - "LINK"
+            "recipients": [ # The list of recipients to which to email the report.
+              { # Represents a recipient.
+                "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+                "deliveryType": "A String", # The delivery type for the recipient, one of:
+                    # - "ATTACHMENT"
+                    # - "LINK"
+                "email": "A String", # The email address of the recipient.
+              },
+            ],
+            "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+          },
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "criteria": { # The report criteria for a report of type "STANDARD".
+            "activities": { # Represents an activity group. # Activity group.
+              "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+              "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+                { # Represents a DimensionValue resource.
+                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                  "value": "A String", # The value of the dimension.
+                  "dimensionName": "A String", # The name of the dimension.
+                  "etag": "A String", # The eTag of this response for caching purposes.
+                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                      # - EXACT (default if not specified)
+                      # - CONTAINS
+                      # - BEGINS_WITH
+                      # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                  "id": "A String", # The ID associated with the value if available.
+                },
+              ],
+              "metricNames": [ # List of names of floodlight activity metrics.
+                "A String",
+              ],
+            },
+            "dimensions": [ # The list of standard dimensions the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                    # - "ASCENDING"
+                    # - "DESCENDING"
+              },
+            ],
+            "metricNames": [ # The list of names of metrics the report should include.
+              "A String",
+            ],
+            "dateRange": { # Represents a date range. # The date range for which this report should be run.
+              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+                  # - "TODAY"
+                  # - "YESTERDAY"
+                  # - "WEEK_TO_DATE"
+                  # - "MONTH_TO_DATE"
+                  # - "QUARTER_TO_DATE"
+                  # - "YEAR_TO_DATE"
+                  # - "PREVIOUS_WEEK"
+                  # - "PREVIOUS_MONTH"
+                  # - "PREVIOUS_QUARTER"
+                  # - "PREVIOUS_YEAR"
+                  # - "LAST_7_DAYS"
+                  # - "LAST_30_DAYS"
+                  # - "LAST_90_DAYS"
+                  # - "LAST_365_DAYS"
+                  # - "LAST_24_MONTHS"
+            },
+            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+                # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                    # - EXACT (default if not specified)
+                    # - CONTAINS
+                    # - BEGINS_WITH
+                    # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+              "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+              "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+                { # Represents a DimensionValue resource.
+                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                  "value": "A String", # The value of the dimension.
+                  "dimensionName": "A String", # The name of the dimension.
+                  "etag": "A String", # The eTag of this response for caching purposes.
+                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                      # - EXACT (default if not specified)
+                      # - CONTAINS
+                      # - BEGINS_WITH
+                      # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                  "id": "A String", # The ID associated with the value if available.
+                },
+              ],
+            },
+          },
+          "id": "A String", # The unique ID identifying this report resource.
+          "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+          "fileName": "A String", # The file name used when generating report files for this report.
+          "type": "A String", # The type of the report, one of:
+              # - STANDARD
+              # - REACH
+              # - ACTIVE_GRP
+              # - PATH_TO_CONVERSION
+              # - FLOODLIGHT
+              # - CROSS_DIMENSION_REACH
+          "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+            "breakdown": [ # The list of dimensions the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                    # - "ASCENDING"
+                    # - "DESCENDING"
+              },
+            ],
+            "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+              "A String",
+            ],
+            "metricNames": [ # The list of names of metrics the report should include.
+              "A String",
+            ],
+            "dateRange": { # Represents a date range. # The date range this report should be run for.
+              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+                  # - "TODAY"
+                  # - "YESTERDAY"
+                  # - "WEEK_TO_DATE"
+                  # - "MONTH_TO_DATE"
+                  # - "QUARTER_TO_DATE"
+                  # - "YEAR_TO_DATE"
+                  # - "PREVIOUS_WEEK"
+                  # - "PREVIOUS_MONTH"
+                  # - "PREVIOUS_QUARTER"
+                  # - "PREVIOUS_YEAR"
+                  # - "LAST_7_DAYS"
+                  # - "LAST_30_DAYS"
+                  # - "LAST_90_DAYS"
+                  # - "LAST_365_DAYS"
+                  # - "LAST_24_MONTHS"
+            },
+            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                    # - EXACT (default if not specified)
+                    # - CONTAINS
+                    # - BEGINS_WITH
+                    # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+            "dimension": "A String", # The dimension option, one of:
+                # - "ADVERTISER"
+                # - "CAMPAIGN"
+                # - "SITE_BY_ADVERTISER"
+                # - "SITE_BY_CAMPAIGN"
+          },
+          "accountId": "A String", # The account ID to which this report belongs.
+        },
+    ],
+    "kind": "dfareporting#reportList", # The kind of list this is, in this case dfareporting#reportList.
+    "etag": "A String", # The eTag of this response for caching purposes.
+  }</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="patch">patch(profileId, reportId, body)</code>
+  <pre>Updates a report. This method supports patch semantics.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  reportId: string, The ID of the report. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a Report resource.
+    "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+      "conversionDimensions": [ # The list of conversion dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "reportProperties": { # The properties of the report.
+        "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+        "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+        "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+        "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+      },
+      "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+            # - EXACT (default if not specified)
+            # - CONTAINS
+            # - BEGINS_WITH
+            # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+    },
+    "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+    "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
+    "name": "A String", # The name of the report.
+    "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+      "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+      "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
+          # - DAY_OF_MONTH
+          # - WEEK_OF_MONTH
+          # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+      "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+      "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+      "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+      "repeats": "A String", # The interval for which the report is repeated, one of:
+          # - "DAILY", also requires field "every" to be set.
+          # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
+          # - "TWICE_A_MONTH"
+          # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
+          # - "QUARTERLY"
+          # - "YEARLY"
+      "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+        "A String",
+      ],
+    },
+    "format": "A String", # The output format of the report, one of:
+        # - "CSV"
+        # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+    "ownerProfileId": "A String", # The user profile id of the owner of this report.
+    "reachCriteria": { # The report criteria for a report of type "REACH".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+        "A String",
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+    },
+    "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+            # - EXACT (default if not specified)
+            # - CONTAINS
+            # - BEGINS_WITH
+            # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reportProperties": { # The properties of the report.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+      },
+    },
+    "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+    },
+    "delivery": { # The report's email delivery settings.
+      "message": "A String", # The message to be sent with each email.
+      "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
+          # - "ATTACHMENT"
+          # - "LINK"
+      "recipients": [ # The list of recipients to which to email the report.
+        { # Represents a recipient.
+          "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+          "deliveryType": "A String", # The delivery type for the recipient, one of:
+              # - "ATTACHMENT"
+              # - "LINK"
+          "email": "A String", # The email address of the recipient.
+        },
+      ],
+      "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+    },
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "criteria": { # The report criteria for a report of type "STANDARD".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of standard dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range for which this report should be run.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+    },
+    "id": "A String", # The unique ID identifying this report resource.
+    "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+    "fileName": "A String", # The file name used when generating report files for this report.
+    "type": "A String", # The type of the report, one of:
+        # - STANDARD
+        # - REACH
+        # - ACTIVE_GRP
+        # - PATH_TO_CONVERSION
+        # - FLOODLIGHT
+        # - CROSS_DIMENSION_REACH
+    "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+      "breakdown": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+        "A String",
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+      "dimension": "A String", # The dimension option, one of:
+          # - "ADVERTISER"
+          # - "CAMPAIGN"
+          # - "SITE_BY_ADVERTISER"
+          # - "SITE_BY_CAMPAIGN"
+    },
+    "accountId": "A String", # The account ID to which this report belongs.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a Report resource.
+      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+        "conversionDimensions": [ # The list of conversion dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "reportProperties": { # The properties of the report.
+          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+          "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        },
+        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+      },
+      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+      "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
+      "name": "A String", # The name of the report.
+      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
+            # - DAY_OF_MONTH
+            # - WEEK_OF_MONTH
+            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+        "repeats": "A String", # The interval for which the report is repeated, one of:
+            # - "DAILY", also requires field "every" to be set.
+            # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
+            # - "TWICE_A_MONTH"
+            # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
+            # - "QUARTERLY"
+            # - "YEARLY"
+        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+          "A String",
+        ],
+      },
+      "format": "A String", # The output format of the report, one of:
+          # - "CSV"
+          # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+      "ownerProfileId": "A String", # The user profile id of the owner of this report.
+      "reachCriteria": { # The report criteria for a report of type "REACH".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                  # - EXACT (default if not specified)
+                  # - CONTAINS
+                  # - BEGINS_WITH
+                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+          "A String",
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                  # - EXACT (default if not specified)
+                  # - CONTAINS
+                  # - BEGINS_WITH
+                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+      },
+      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reportProperties": { # The properties of the report.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+        },
+      },
+      "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+            # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+      },
+      "delivery": { # The report's email delivery settings.
+        "message": "A String", # The message to be sent with each email.
+        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
+            # - "ATTACHMENT"
+            # - "LINK"
+        "recipients": [ # The list of recipients to which to email the report.
+          { # Represents a recipient.
+            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+            "deliveryType": "A String", # The delivery type for the recipient, one of:
+                # - "ATTACHMENT"
+                # - "LINK"
+            "email": "A String", # The email address of the recipient.
+          },
+        ],
+        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+      },
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "criteria": { # The report criteria for a report of type "STANDARD".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                  # - EXACT (default if not specified)
+                  # - CONTAINS
+                  # - BEGINS_WITH
+                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of standard dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range for which this report should be run.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                  # - EXACT (default if not specified)
+                  # - CONTAINS
+                  # - BEGINS_WITH
+                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+      },
+      "id": "A String", # The unique ID identifying this report resource.
+      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+      "fileName": "A String", # The file name used when generating report files for this report.
+      "type": "A String", # The type of the report, one of:
+          # - STANDARD
+          # - REACH
+          # - ACTIVE_GRP
+          # - PATH_TO_CONVERSION
+          # - FLOODLIGHT
+          # - CROSS_DIMENSION_REACH
+      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+        "breakdown": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+          "A String",
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+        "dimension": "A String", # The dimension option, one of:
+            # - "ADVERTISER"
+            # - "CAMPAIGN"
+            # - "SITE_BY_ADVERTISER"
+            # - "SITE_BY_CAMPAIGN"
+      },
+      "accountId": "A String", # The account ID to which this report belongs.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="run">run(profileId, reportId, synchronous=None)</code>
+  <pre>Runs a report.
+
+Args:
+  profileId: string, The DFA profile ID. (required)
+  reportId: string, The ID of the report. (required)
+  synchronous: boolean, If set and true, tries to run the report synchronously.
+
+Returns:
+  An object of the form:
+
+    { # Represents a File resource. A File contains the meta-data for a report run. It shows the status of the run and holds the urls to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
+    "status": "A String", # The status of the report file, one of:
+        # - "PROCESSING"
+        # - "REPORT_AVAILABLE"
+        # - "FAILED"
+        # - "CANCELLED"
+    "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
+    "format": "A String", # The output format of the report. Only available once the file is available.
+    "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
+      "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+      "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+      "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+      "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+          # - "TODAY"
+          # - "YESTERDAY"
+          # - "WEEK_TO_DATE"
+          # - "MONTH_TO_DATE"
+          # - "QUARTER_TO_DATE"
+          # - "YEAR_TO_DATE"
+          # - "PREVIOUS_WEEK"
+          # - "PREVIOUS_MONTH"
+          # - "PREVIOUS_QUARTER"
+          # - "PREVIOUS_YEAR"
+          # - "LAST_7_DAYS"
+          # - "LAST_30_DAYS"
+          # - "LAST_90_DAYS"
+          # - "LAST_365_DAYS"
+          # - "LAST_24_MONTHS"
+    },
+    "fileName": "A String", # The file name of the file.
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "reportId": "A String", # The ID of the report this file was generated from.
+    "urls": { # The urls where the completed report file can be downloaded.
+      "browserUrl": "A String", # The url for downloading the report data through a browser.
+      "apiUrl": "A String", # The url for downloading the report data through the API.
+    },
+    "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
+    "id": "A String", # The unique ID of this report file.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(profileId, reportId, body)</code>
+  <pre>Updates a report.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  reportId: string, The ID of the report. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a Report resource.
+    "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+      "conversionDimensions": [ # The list of conversion dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "reportProperties": { # The properties of the report.
+        "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+        "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+        "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+        "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+      },
+      "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+            # - EXACT (default if not specified)
+            # - CONTAINS
+            # - BEGINS_WITH
+            # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+    },
+    "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+    "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
+    "name": "A String", # The name of the report.
+    "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+      "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+      "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
+          # - DAY_OF_MONTH
+          # - WEEK_OF_MONTH
+          # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+      "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+      "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+      "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+      "repeats": "A String", # The interval for which the report is repeated, one of:
+          # - "DAILY", also requires field "every" to be set.
+          # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
+          # - "TWICE_A_MONTH"
+          # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
+          # - "QUARTERLY"
+          # - "YEARLY"
+      "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+        "A String",
+      ],
+    },
+    "format": "A String", # The output format of the report, one of:
+        # - "CSV"
+        # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+    "ownerProfileId": "A String", # The user profile id of the owner of this report.
+    "reachCriteria": { # The report criteria for a report of type "REACH".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+        "A String",
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+    },
+    "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+            # - EXACT (default if not specified)
+            # - CONTAINS
+            # - BEGINS_WITH
+            # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reportProperties": { # The properties of the report.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+      },
+    },
+    "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+    },
+    "delivery": { # The report's email delivery settings.
+      "message": "A String", # The message to be sent with each email.
+      "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
+          # - "ATTACHMENT"
+          # - "LINK"
+      "recipients": [ # The list of recipients to which to email the report.
+        { # Represents a recipient.
+          "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+          "deliveryType": "A String", # The delivery type for the recipient, one of:
+              # - "ATTACHMENT"
+              # - "LINK"
+          "email": "A String", # The email address of the recipient.
+        },
+      ],
+      "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+    },
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "criteria": { # The report criteria for a report of type "STANDARD".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of standard dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range for which this report should be run.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+    },
+    "id": "A String", # The unique ID identifying this report resource.
+    "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+    "fileName": "A String", # The file name used when generating report files for this report.
+    "type": "A String", # The type of the report, one of:
+        # - STANDARD
+        # - REACH
+        # - ACTIVE_GRP
+        # - PATH_TO_CONVERSION
+        # - FLOODLIGHT
+        # - CROSS_DIMENSION_REACH
+    "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+      "breakdown": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+              # - "ASCENDING"
+              # - "DESCENDING"
+        },
+      ],
+      "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+        "A String",
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+            # - "TODAY"
+            # - "YESTERDAY"
+            # - "WEEK_TO_DATE"
+            # - "MONTH_TO_DATE"
+            # - "QUARTER_TO_DATE"
+            # - "YEAR_TO_DATE"
+            # - "PREVIOUS_WEEK"
+            # - "PREVIOUS_MONTH"
+            # - "PREVIOUS_QUARTER"
+            # - "PREVIOUS_YEAR"
+            # - "LAST_7_DAYS"
+            # - "LAST_30_DAYS"
+            # - "LAST_90_DAYS"
+            # - "LAST_365_DAYS"
+            # - "LAST_24_MONTHS"
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+      "dimension": "A String", # The dimension option, one of:
+          # - "ADVERTISER"
+          # - "CAMPAIGN"
+          # - "SITE_BY_ADVERTISER"
+          # - "SITE_BY_CAMPAIGN"
+    },
+    "accountId": "A String", # The account ID to which this report belongs.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a Report resource.
+      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+        "conversionDimensions": [ # The list of conversion dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "reportProperties": { # The properties of the report.
+          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+          "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        },
+        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+      },
+      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+      "subAccountId": "A String", # The subbaccount ID to which this report belongs if applicable.
+      "name": "A String", # The name of the report.
+      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month. Possible values are:
+            # - DAY_OF_MONTH
+            # - WEEK_OF_MONTH
+            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+        "repeats": "A String", # The interval for which the report is repeated, one of:
+            # - "DAILY", also requires field "every" to be set.
+            # - "WEEKLY", also requires fields "every" and "repeatsOnWeekDays" to be set.
+            # - "TWICE_A_MONTH"
+            # - "MONTHLY", also requires fields "every" and "runsOnDayOfMonth" to be set.
+            # - "QUARTERLY"
+            # - "YEARLY"
+        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+          "A String",
+        ],
+      },
+      "format": "A String", # The output format of the report, one of:
+          # - "CSV"
+          # - "EXCEL"  If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+      "ownerProfileId": "A String", # The user profile id of the owner of this report.
+      "reachCriteria": { # The report criteria for a report of type "REACH".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                  # - EXACT (default if not specified)
+                  # - CONTAINS
+                  # - BEGINS_WITH
+                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+          "A String",
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                  # - EXACT (default if not specified)
+                  # - CONTAINS
+                  # - BEGINS_WITH
+                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+      },
+      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+              # - EXACT (default if not specified)
+              # - CONTAINS
+              # - BEGINS_WITH
+              # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reportProperties": { # The properties of the report.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+        },
+      },
+      "activeGrpCriteria": { # The report criteria for a report of type "ACTIVE_GRP".
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+            # A valid active GRP report needs to have exactly one DimensionValue for the United States in addition to any advertiser or campaign dimension values.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+      },
+      "delivery": { # The report's email delivery settings.
+        "message": "A String", # The message to be sent with each email.
+        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled. One of:
+            # - "ATTACHMENT"
+            # - "LINK"
+        "recipients": [ # The list of recipients to which to email the report.
+          { # Represents a recipient.
+            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+            "deliveryType": "A String", # The delivery type for the recipient, one of:
+                # - "ATTACHMENT"
+                # - "LINK"
+            "email": "A String", # The email address of the recipient.
+          },
+        ],
+        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+      },
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "criteria": { # The report criteria for a report of type "STANDARD".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                  # - EXACT (default if not specified)
+                  # - CONTAINS
+                  # - BEGINS_WITH
+                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of standard dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range for which this report should be run.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                  # - EXACT (default if not specified)
+                  # - CONTAINS
+                  # - BEGINS_WITH
+                  # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+      },
+      "id": "A String", # The unique ID identifying this report resource.
+      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+      "fileName": "A String", # The file name used when generating report files for this report.
+      "type": "A String", # The type of the report, one of:
+          # - STANDARD
+          # - REACH
+          # - ACTIVE_GRP
+          # - PATH_TO_CONVERSION
+          # - FLOODLIGHT
+          # - CROSS_DIMENSION_REACH
+      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+        "breakdown": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column, one of:
+                # - "ASCENDING"
+                # - "DESCENDING"
+          },
+        ],
+        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+          "A String",
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run, one of:
+              # - "TODAY"
+              # - "YESTERDAY"
+              # - "WEEK_TO_DATE"
+              # - "MONTH_TO_DATE"
+              # - "QUARTER_TO_DATE"
+              # - "YEAR_TO_DATE"
+              # - "PREVIOUS_WEEK"
+              # - "PREVIOUS_MONTH"
+              # - "PREVIOUS_QUARTER"
+              # - "PREVIOUS_YEAR"
+              # - "LAST_7_DAYS"
+              # - "LAST_30_DAYS"
+              # - "LAST_90_DAYS"
+              # - "LAST_365_DAYS"
+              # - "LAST_24_MONTHS"
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. One of:
+                # - EXACT (default if not specified)
+                # - CONTAINS
+                # - BEGINS_WITH
+                # - WILDCARD_EXPRESSION (allowing '*' as a placeholder for variable length character sequences, it can be escaped with a backslash.)  Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+        "dimension": "A String", # The dimension option, one of:
+            # - "ADVERTISER"
+            # - "CAMPAIGN"
+            # - "SITE_BY_ADVERTISER"
+            # - "SITE_BY_CAMPAIGN"
+      },
+      "accountId": "A String", # The account ID to which this report belongs.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dfareporting_v1_3.userProfiles.html b/docs/dyn/dfareporting_v1_3.userProfiles.html
new file mode 100644
index 0000000..dc0cbc7
--- /dev/null
+++ b/docs/dyn/dfareporting_v1_3.userProfiles.html
@@ -0,0 +1,133 @@
+<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="dfareporting_v1_3.html">DFA Reporting API</a> . <a href="dfareporting_v1_3.userProfiles.html">userProfiles</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(profileId)</a></code></p>
+<p class="firstline">Gets one user profile by ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list()</a></code></p>
+<p class="firstline">Retrieves list of user profiles for a user.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(profileId)</code>
+  <pre>Gets one user profile by ID.
+
+Args:
+  profileId: string, The user profile ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a UserProfile resource.
+    "userName": "A String", # The user name.
+    "kind": "dfareporting#userProfile", # The kind of resource this is, in this case dfareporting#userProfile.
+    "subAccountId": "A String", # The sub account ID this profile belongs to if applicable.
+    "accountName": "A String", # The account name this profile belongs to.
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "subAccountName": "A String", # The sub account name this profile belongs to if applicable.
+    "profileId": "A String", # The unique ID of the user profile.
+    "accountId": "A String", # The account ID to which this profile belongs.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list()</code>
+  <pre>Retrieves list of user profiles for a user.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    { # Represents the list of user profiles.
+    "items": [ # The user profiles returned in this response.
+      { # Represents a UserProfile resource.
+        "userName": "A String", # The user name.
+        "kind": "dfareporting#userProfile", # The kind of resource this is, in this case dfareporting#userProfile.
+        "subAccountId": "A String", # The sub account ID this profile belongs to if applicable.
+        "accountName": "A String", # The account name this profile belongs to.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "subAccountName": "A String", # The sub account name this profile belongs to if applicable.
+        "profileId": "A String", # The unique ID of the user profile.
+        "accountId": "A String", # The account ID to which this profile belongs.
+      },
+    ],
+    "kind": "dfareporting#userProfileList", # The kind of list this is, in this case dfareporting#userProfileList.
+    "etag": "A String", # The eTag of this response for caching purposes.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/discovery_v1.apis.html b/docs/dyn/discovery_v1.apis.html
index 280e348..a97b661 100644
--- a/docs/dyn/discovery_v1.apis.html
+++ b/docs/dyn/discovery_v1.apis.html
@@ -78,7 +78,7 @@
   <code><a href="#getRest">getRest(api, version)</a></code></p>
 <p class="firstline">Retrieve the description of a particular version of an api.</p>
 <p class="toc_element">
-  <code><a href="#list">list(name=None, preferred=None, label=None)</a></code></p>
+  <code><a href="#list">list(name=None, preferred=None)</a></code></p>
 <p class="firstline">Retrieve the list of APIs supported at this endpoint.</p>
 <h3>Method Details</h3>
 <div class="method">
@@ -120,7 +120,7 @@
               "A String",
             ],
             "minimum": "A String", # The minimum value of this parameter.
-            "readOnly": True or False, # The value is read-only, generated by the service. The value can not be modified by the client. It the value is included in a POST, PUT or PATCH request, it will be ignored by the service.
+            "readOnly": True or False, # The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service.
             "location": "A String", # Whether this parameter goes in the query or the path for REST requests.
             "pattern": "A String", # The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
             "additionalProperties": # Object with schema name: JsonSchema # If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.
@@ -152,6 +152,7 @@
           ],
         },
         "request": { # The schema for the request.
+          "parameterName": "A String", # parameter name.
           "$ref": "A String", # Schema ID for the request schema.
         },
         "response": { # The schema for the response.
@@ -170,42 +171,14 @@
     "labels": [ # Labels for the status of this API, such as labs or deprecated.
       "A String",
     ],
+    "ownerName": "A String", # The name of the owner of this API. See ownerDomain.
     "batchPath": "batch", # The path for REST batch requests.
-    "id": "A String", # The id of this API.
-    "schemas": { # The schemas for this API.
-      "a_key": { # An individual schema description.
-        "properties": { # If this is a schema for an object, list the schema for each property of this object.
-          "a_key": # Object with schema name: JsonSchema # A single property of this object. The value is itself a JSON Schema object describing this property.
-        },
-        "required": True or False, # Whether the parameter is required.
-        "type": "A String", # The value type for this schema. A list of values can be found here: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
-        "description": "A String", # A description of this object.
-        "format": "A String", # An additional regular expression or key that helps constrain the value. For more details see: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23
-        "default": "A String", # The default value of this property (if one exists).
-        "items": # Object with schema name: JsonSchema # If this is a schema for an array, this property is the schema for each element in the array.
-        "enum": [ # Values this parameter may take (if it is an enum).
-          "A String",
-        ],
-        "maximum": "A String", # The maximum value of this parameter.
-        "id": "A String", # Unique identifier for this schema.
-        "enumDescriptions": [ # The descriptions for the enums. Each position maps to the corresponding value in the "enum" array.
-          "A String",
-        ],
-        "minimum": "A String", # The minimum value of this parameter.
-        "readOnly": True or False, # The value is read-only, generated by the service. The value can not be modified by the client. It the value is included in a POST, PUT or PATCH request, it will be ignored by the service.
-        "location": "A String", # Whether this parameter goes in the query or the path for REST requests.
-        "pattern": "A String", # The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
-        "additionalProperties": # Object with schema name: JsonSchema # If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.
-        "repeated": True or False, # Whether this parameter may appear multiple times.
-        "annotations": { # Additional information about this property.
-          "required": [ # A list of methods for which this property is required on requests.
-            "A String",
-          ],
-        },
-        "$ref": "A String", # A reference to another schema. The value of this property is the "id" of another schema.
-      },
-    },
-    "rootUrl": "A String", # The root url under which all API services live.
+    "id": "A String", # The ID of this API.
+    "features": [ # A list of supported features for this API.
+      "A String",
+    ],
+    "ownerDomain": "A String", # The domain of the owner of this API. Together with the ownerName and a packagePath values, this can be used to generate a library for this API which would have a unique fully qualified name.
+    "rootUrl": "A String", # The root URL under which all API services live.
     "parameters": { # Common parameters that apply across all apis.
       "a_key": { # Description of a single parameter.
         "properties": { # If this is a schema for an object, list the schema for each property of this object.
@@ -226,7 +199,7 @@
           "A String",
         ],
         "minimum": "A String", # The minimum value of this parameter.
-        "readOnly": True or False, # The value is read-only, generated by the service. The value can not be modified by the client. It the value is included in a POST, PUT or PATCH request, it will be ignored by the service.
+        "readOnly": True or False, # The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service.
         "location": "A String", # Whether this parameter goes in the query or the path for REST requests.
         "pattern": "A String", # The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
         "additionalProperties": # Object with schema name: JsonSchema # If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.
@@ -240,16 +213,46 @@
       },
     },
     "icons": { # Links to 16x16 and 32x32 icons representing the API.
-      "x32": "A String", # The url of the 32x32 icon.
-      "x16": "A String", # The url of the 16x16 icon.
+      "x32": "A String", # The URL of the 32x32 icon.
+      "x16": "A String", # The URL of the 16x16 icon.
     },
     "baseUrl": "A String", # [DEPRECATED] The base URL for REST requests.
-    "etag": "A String", # The etag for this response.
-    "features": [ # A list of supported features for this API.
-      "A String",
-    ],
+    "etag": "A String", # The ETag for this response.
     "version": "A String", # The version of this API.
     "servicePath": "A String", # The base path for all REST requests.
+    "schemas": { # The schemas for this API.
+      "a_key": { # An individual schema description.
+        "properties": { # If this is a schema for an object, list the schema for each property of this object.
+          "a_key": # Object with schema name: JsonSchema # A single property of this object. The value is itself a JSON Schema object describing this property.
+        },
+        "required": True or False, # Whether the parameter is required.
+        "type": "A String", # The value type for this schema. A list of values can be found here: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
+        "description": "A String", # A description of this object.
+        "format": "A String", # An additional regular expression or key that helps constrain the value. For more details see: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23
+        "default": "A String", # The default value of this property (if one exists).
+        "items": # Object with schema name: JsonSchema # If this is a schema for an array, this property is the schema for each element in the array.
+        "enum": [ # Values this parameter may take (if it is an enum).
+          "A String",
+        ],
+        "maximum": "A String", # The maximum value of this parameter.
+        "id": "A String", # Unique identifier for this schema.
+        "enumDescriptions": [ # The descriptions for the enums. Each position maps to the corresponding value in the "enum" array.
+          "A String",
+        ],
+        "minimum": "A String", # The minimum value of this parameter.
+        "readOnly": True or False, # The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service.
+        "location": "A String", # Whether this parameter goes in the query or the path for REST requests.
+        "pattern": "A String", # The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
+        "additionalProperties": # Object with schema name: JsonSchema # If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.
+        "repeated": True or False, # Whether this parameter may appear multiple times.
+        "annotations": { # Additional information about this property.
+          "required": [ # A list of methods for which this property is required on requests.
+            "A String",
+          ],
+        },
+        "$ref": "A String", # A reference to another schema. The value of this property is the "id" of another schema.
+      },
+    },
     "resources": { # The resources in this API.
       "a_key": { # An individual resource description. Contains methods and sub-resources related to this resource.
         "methods": { # Methods on this resource.
@@ -278,7 +281,7 @@
                   "A String",
                 ],
                 "minimum": "A String", # The minimum value of this parameter.
-                "readOnly": True or False, # The value is read-only, generated by the service. The value can not be modified by the client. It the value is included in a POST, PUT or PATCH request, it will be ignored by the service.
+                "readOnly": True or False, # The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service.
                 "location": "A String", # Whether this parameter goes in the query or the path for REST requests.
                 "pattern": "A String", # The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
                 "additionalProperties": # Object with schema name: JsonSchema # If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.
@@ -310,6 +313,7 @@
               ],
             },
             "request": { # The schema for the request.
+              "parameterName": "A String", # parameter name.
               "$ref": "A String", # Schema ID for the request schema.
             },
             "response": { # The schema for the response.
@@ -342,6 +346,7 @@
         },
       },
     },
+    "packagePath": "A String", # The package of the owner of this API. See ownerDomain.
     "kind": "discovery#restDescription", # The kind for this response.
     "name": "A String", # The name of this API.
     "basePath": "A String", # [DEPRECATED] The base path for REST requests.
@@ -352,17 +357,12 @@
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(name=None, preferred=None, label=None)</code>
+    <code class="details" id="list">list(name=None, preferred=None)</code>
   <pre>Retrieve the list of APIs supported at this endpoint.
 
 Args:
   name: string, Only include APIs with the given name.
   preferred: boolean, Return only the preferred version of an API.
-  label: string, Only include APIs with a matching label, such as 'graduated' or 'labs'.
-    Allowed values
-      deprecated - APIs that have been deprecated.
-      graduated - Supported APIs that have graduated from labs.
-      labs - APIs that are experimental
 
 Returns:
   An object of the form:
@@ -376,10 +376,10 @@
         ],
         "description": "A String", # The description of this API.
         "icons": { # Links to 16x16 and 32x32 icons representing the API.
-          "x32": "A String", # The url of the 32x32 icon.
-          "x16": "A String", # The url of the 16x16 icon.
+          "x32": "A String", # The URL of the 32x32 icon.
+          "x16": "A String", # The URL of the 16x16 icon.
         },
-        "discoveryRestUrl": "A String", # The url for the discovery REST document.
+        "discoveryRestUrl": "A String", # The URL for the discovery REST document.
         "preferred": True or False, # True if this version is the preferred version to use.
         "name": "A String", # The name of the API.
         "discoveryLink": "A String", # A link to the discovery document.
diff --git a/docs/dyn/doubleclickbidmanager_v1.html b/docs/dyn/doubleclickbidmanager_v1.html
new file mode 100644
index 0000000..e1c40d7
--- /dev/null
+++ b/docs/dyn/doubleclickbidmanager_v1.html
@@ -0,0 +1,87 @@
+<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="doubleclickbidmanager_v1.html">DoubleClick Bid Manager API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="doubleclickbidmanager_v1.queries.html">queries()</a></code>
+</p>
+<p class="firstline">Returns the queries Resource.</p>
+
+<p class="toc_element">
+  <code><a href="doubleclickbidmanager_v1.reports.html">reports()</a></code>
+</p>
+<p class="firstline">Returns the reports Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/doubleclickbidmanager_v1.queries.html b/docs/dyn/doubleclickbidmanager_v1.queries.html
new file mode 100644
index 0000000..91e1a97
--- /dev/null
+++ b/docs/dyn/doubleclickbidmanager_v1.queries.html
@@ -0,0 +1,328 @@
+<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="doubleclickbidmanager_v1.html">DoubleClick Bid Manager API</a> . <a href="doubleclickbidmanager_v1.queries.html">queries</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#createquery">createquery(body)</a></code></p>
+<p class="firstline">Creates a query.</p>
+<p class="toc_element">
+  <code><a href="#deletequery">deletequery(queryId)</a></code></p>
+<p class="firstline">Deletes a stored query as well as the associated stored reports.</p>
+<p class="toc_element">
+  <code><a href="#getquery">getquery(queryId)</a></code></p>
+<p class="firstline">Retrieves a stored query.</p>
+<p class="toc_element">
+  <code><a href="#listqueries">listqueries()</a></code></p>
+<p class="firstline">Retrieves stored queries.</p>
+<p class="toc_element">
+  <code><a href="#runquery">runquery(queryId, body)</a></code></p>
+<p class="firstline">Runs a stored query to generate a report.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="createquery">createquery(body)</code>
+  <pre>Creates a query.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a query.
+  "kind": "doubleclickbidmanager#query", # The kind, fixed to "doubleclickbidmanager#query".
+  "schedule": { # Information on how frequently and when to run a query. # Information on how often and when to run a query.
+    "endTimeMs": "A String", # Run the query periodically until the specified time.
+    "frequency": "A String", # How often the query is run.
+  },
+  "timezoneCode": "A String", # Canonical timezone code for report data time. Defaults to America/New_York.
+  "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
+  "queryId": "A String", # Query ID.
+  "params": { # Parameters of a query or report. # Query parameters.
+    "metrics": [ # Metrics to include as columns in your report.
+      "A String",
+    ],
+    "includeInviteData": True or False, # Whether to include data from Invite Media.
+    "type": "A String", # Report type.
+    "groupBys": [ # Data is grouped by the filters listed in this field.
+      "A String",
+    ],
+    "filters": [ # Filters used to match traffic data in your report.
+      { # Filter used to match traffic data in your report.
+        "type": "A String", # Filter type.
+        "value": "A String", # Filter value.
+      },
+    ],
+  },
+  "reportDataStartTimeMs": "A String", # The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
+  "metadata": { # Query metadata. # Query metadata.
+    "googleCloudStoragePathForLatestReport": "A String", # The path to the location in Google Cloud Storage where the latest report is stored.
+    "dataRange": "A String", # Range of report data.
+    "format": "A String", # Format of the generated report.
+    "googleDrivePathForLatestReport": "A String", # The path in Google Drive for the latest report.
+    "sendNotification": True or False, # Whether to send an email notification when a report is ready. Default to false.
+    "shareEmailAddress": [ # List of email addresses which are sent email notifications when the report is finished. Separate from sendNotification.
+      "A String",
+    ],
+    "reportCount": 42, # Number of reports that have been generated for the query.
+    "running": True or False, # Whether the latest report is currently running.
+    "latestReportRunTimeMs": "A String", # The time when the latest report started to run.
+    "title": "A String", # Query title. It is used to name the reports generated from this query.
+  },
+}
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a query.
+    "kind": "doubleclickbidmanager#query", # The kind, fixed to "doubleclickbidmanager#query".
+    "schedule": { # Information on how frequently and when to run a query. # Information on how often and when to run a query.
+      "endTimeMs": "A String", # Run the query periodically until the specified time.
+      "frequency": "A String", # How often the query is run.
+    },
+    "timezoneCode": "A String", # Canonical timezone code for report data time. Defaults to America/New_York.
+    "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
+    "queryId": "A String", # Query ID.
+    "params": { # Parameters of a query or report. # Query parameters.
+      "metrics": [ # Metrics to include as columns in your report.
+        "A String",
+      ],
+      "includeInviteData": True or False, # Whether to include data from Invite Media.
+      "type": "A String", # Report type.
+      "groupBys": [ # Data is grouped by the filters listed in this field.
+        "A String",
+      ],
+      "filters": [ # Filters used to match traffic data in your report.
+        { # Filter used to match traffic data in your report.
+          "type": "A String", # Filter type.
+          "value": "A String", # Filter value.
+        },
+      ],
+    },
+    "reportDataStartTimeMs": "A String", # The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
+    "metadata": { # Query metadata. # Query metadata.
+      "googleCloudStoragePathForLatestReport": "A String", # The path to the location in Google Cloud Storage where the latest report is stored.
+      "dataRange": "A String", # Range of report data.
+      "format": "A String", # Format of the generated report.
+      "googleDrivePathForLatestReport": "A String", # The path in Google Drive for the latest report.
+      "sendNotification": True or False, # Whether to send an email notification when a report is ready. Default to false.
+      "shareEmailAddress": [ # List of email addresses which are sent email notifications when the report is finished. Separate from sendNotification.
+        "A String",
+      ],
+      "reportCount": 42, # Number of reports that have been generated for the query.
+      "running": True or False, # Whether the latest report is currently running.
+      "latestReportRunTimeMs": "A String", # The time when the latest report started to run.
+      "title": "A String", # Query title. It is used to name the reports generated from this query.
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="deletequery">deletequery(queryId)</code>
+  <pre>Deletes a stored query as well as the associated stored reports.
+
+Args:
+  queryId: string, Query ID to delete. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getquery">getquery(queryId)</code>
+  <pre>Retrieves a stored query.
+
+Args:
+  queryId: string, Query ID to retrieve. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a query.
+    "kind": "doubleclickbidmanager#query", # The kind, fixed to "doubleclickbidmanager#query".
+    "schedule": { # Information on how frequently and when to run a query. # Information on how often and when to run a query.
+      "endTimeMs": "A String", # Run the query periodically until the specified time.
+      "frequency": "A String", # How often the query is run.
+    },
+    "timezoneCode": "A String", # Canonical timezone code for report data time. Defaults to America/New_York.
+    "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
+    "queryId": "A String", # Query ID.
+    "params": { # Parameters of a query or report. # Query parameters.
+      "metrics": [ # Metrics to include as columns in your report.
+        "A String",
+      ],
+      "includeInviteData": True or False, # Whether to include data from Invite Media.
+      "type": "A String", # Report type.
+      "groupBys": [ # Data is grouped by the filters listed in this field.
+        "A String",
+      ],
+      "filters": [ # Filters used to match traffic data in your report.
+        { # Filter used to match traffic data in your report.
+          "type": "A String", # Filter type.
+          "value": "A String", # Filter value.
+        },
+      ],
+    },
+    "reportDataStartTimeMs": "A String", # The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
+    "metadata": { # Query metadata. # Query metadata.
+      "googleCloudStoragePathForLatestReport": "A String", # The path to the location in Google Cloud Storage where the latest report is stored.
+      "dataRange": "A String", # Range of report data.
+      "format": "A String", # Format of the generated report.
+      "googleDrivePathForLatestReport": "A String", # The path in Google Drive for the latest report.
+      "sendNotification": True or False, # Whether to send an email notification when a report is ready. Default to false.
+      "shareEmailAddress": [ # List of email addresses which are sent email notifications when the report is finished. Separate from sendNotification.
+        "A String",
+      ],
+      "reportCount": 42, # Number of reports that have been generated for the query.
+      "running": True or False, # Whether the latest report is currently running.
+      "latestReportRunTimeMs": "A String", # The time when the latest report started to run.
+      "title": "A String", # Query title. It is used to name the reports generated from this query.
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listqueries">listqueries()</code>
+  <pre>Retrieves stored queries.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    { # List queries response.
+    "kind": "doubleclickbidmanager#listQueriesResponse", # The kind, fixed to "doubleclickbidmanager#listQueriesResponse".
+    "queries": [ # Retrieved queries.
+      { # Represents a query.
+        "kind": "doubleclickbidmanager#query", # The kind, fixed to "doubleclickbidmanager#query".
+        "schedule": { # Information on how frequently and when to run a query. # Information on how often and when to run a query.
+          "endTimeMs": "A String", # Run the query periodically until the specified time.
+          "frequency": "A String", # How often the query is run.
+        },
+        "timezoneCode": "A String", # Canonical timezone code for report data time. Defaults to America/New_York.
+        "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
+        "queryId": "A String", # Query ID.
+        "params": { # Parameters of a query or report. # Query parameters.
+          "metrics": [ # Metrics to include as columns in your report.
+            "A String",
+          ],
+          "includeInviteData": True or False, # Whether to include data from Invite Media.
+          "type": "A String", # Report type.
+          "groupBys": [ # Data is grouped by the filters listed in this field.
+            "A String",
+          ],
+          "filters": [ # Filters used to match traffic data in your report.
+            { # Filter used to match traffic data in your report.
+              "type": "A String", # Filter type.
+              "value": "A String", # Filter value.
+            },
+          ],
+        },
+        "reportDataStartTimeMs": "A String", # The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
+        "metadata": { # Query metadata. # Query metadata.
+          "googleCloudStoragePathForLatestReport": "A String", # The path to the location in Google Cloud Storage where the latest report is stored.
+          "dataRange": "A String", # Range of report data.
+          "format": "A String", # Format of the generated report.
+          "googleDrivePathForLatestReport": "A String", # The path in Google Drive for the latest report.
+          "sendNotification": True or False, # Whether to send an email notification when a report is ready. Default to false.
+          "shareEmailAddress": [ # List of email addresses which are sent email notifications when the report is finished. Separate from sendNotification.
+            "A String",
+          ],
+          "reportCount": 42, # Number of reports that have been generated for the query.
+          "running": True or False, # Whether the latest report is currently running.
+          "latestReportRunTimeMs": "A String", # The time when the latest report started to run.
+          "title": "A String", # Query title. It is used to name the reports generated from this query.
+        },
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="runquery">runquery(queryId, body)</code>
+  <pre>Runs a stored query to generate a report.
+
+Args:
+  queryId: string, Query ID to run. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to run a stored query to generate a report.
+    "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if dataRange is CUSTOM_DATES and ignored otherwise.
+    "timezoneCode": "A String", # Canonical timezone code for report data time. Defaults to America/New_York.
+    "reportDataStartTimeMs": "A String", # The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if dataRange is CUSTOM_DATES and ignored otherwise.
+    "dataRange": "A String", # Report data range used to generate the report.
+  }
+
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/doubleclickbidmanager_v1.reports.html b/docs/dyn/doubleclickbidmanager_v1.reports.html
new file mode 100644
index 0000000..b901d0c
--- /dev/null
+++ b/docs/dyn/doubleclickbidmanager_v1.reports.html
@@ -0,0 +1,133 @@
+<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="doubleclickbidmanager_v1.html">DoubleClick Bid Manager API</a> . <a href="doubleclickbidmanager_v1.reports.html">reports</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#listreports">listreports(queryId)</a></code></p>
+<p class="firstline">Retrieves stored reports.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="listreports">listreports(queryId)</code>
+  <pre>Retrieves stored reports.
+
+Args:
+  queryId: string, Query ID with which the reports are associated. (required)
+
+Returns:
+  An object of the form:
+
+    { # List reports response.
+    "kind": "doubleclickbidmanager#listReportsResponse", # The kind, fixed to "doubleclickbidmanager#listReportsResponse".
+    "reports": [ # Retrieved reports.
+      { # Represents a report.
+        "params": { # Parameters of a query or report. # Report parameters.
+          "metrics": [ # Metrics to include as columns in your report.
+            "A String",
+          ],
+          "includeInviteData": True or False, # Whether to include data from Invite Media.
+          "type": "A String", # Report type.
+          "groupBys": [ # Data is grouped by the filters listed in this field.
+            "A String",
+          ],
+          "filters": [ # Filters used to match traffic data in your report.
+            { # Filter used to match traffic data in your report.
+              "type": "A String", # Filter type.
+              "value": "A String", # Filter value.
+            },
+          ],
+        },
+        "key": { # Key used to identify a report. # Key used to identify a report.
+          "queryId": "A String", # Query ID.
+          "reportId": "A String", # Report ID.
+        },
+        "metadata": { # Report metadata. # Report metadata.
+          "status": { # Report status. # Report status.
+            "failure": { # An explanation of a report failure. # If the report failed, this records the cause.
+              "errorCode": "A String", # Error code that shows why the report was not created.
+            },
+            "state": "A String", # The state of the report.
+            "finishTimeMs": "A String", # The time when this report either completed successfully or failed.
+            "format": "A String", # The file type of the report.
+          },
+          "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report.
+          "googleCloudStoragePath": "A String", # The path to the location in Google Cloud Storage where the report is stored.
+          "reportDataStartTimeMs": "A String", # The starting time for the data that is shown in the report.
+        },
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.apps.html b/docs/dyn/drive_v2.apps.html
index d8dfd75..000d852 100644
--- a/docs/dyn/drive_v2.apps.html
+++ b/docs/dyn/drive_v2.apps.html
@@ -96,7 +96,9 @@
     "primaryFileExtensions": [ # The list of primary file extensions.
       "A String",
     ],
-    "useByDefault": True or False, # Whether the app is selected as the default handler for the types it supports.
+    "secondaryMimeTypes": [ # The list of secondary mime types.
+      "A String",
+    ],
     "name": "A String", # The name of the app.
     "icons": [ # The various icons for the app.
       {
@@ -108,17 +110,20 @@
         "size": 42, # Size of the icon. Represented as the maximum of the width and height.
       },
     ],
+    "shortDescription": "A String", # A short description of the app.
     "secondaryFileExtensions": [ # The list of secondary file extensions.
       "A String",
     ],
+    "useByDefault": True or False, # Whether the app is selected as the default handler for the types it supports.
     "installed": True or False, # Whether the app is installed.
-    "productUrl": "A String", # The product URL.
-    "secondaryMimeTypes": [ # The list of secondary mime types.
-      "A String",
-    ],
+    "supportsMultiOpen": True or False, # Whether this app supports opening more than one file.
+    "productUrl": "A String", # A link to the product listing for this app.
+    "productId": "A String", # The ID of the product listing for this app.
     "authorized": True or False, # Whether the app is authorized to access data on the user's Drive.
     "supportsCreate": True or False, # Whether this app supports creating new objects.
     "supportsImport": True or False, # Whether this app supports importing Google Docs.
+    "openUrlTemplate": "A String", # The template url for opening files with this app. The template will contain {ids} and/or {exportIds} to be replaced by the actual file ids.
+    "longDescription": "A String", # A long description of the app.
     "primaryMimeTypes": [ # The list of primary mime types.
       "A String",
     ],
@@ -143,7 +148,9 @@
         "primaryFileExtensions": [ # The list of primary file extensions.
           "A String",
         ],
-        "useByDefault": True or False, # Whether the app is selected as the default handler for the types it supports.
+        "secondaryMimeTypes": [ # The list of secondary mime types.
+          "A String",
+        ],
         "name": "A String", # The name of the app.
         "icons": [ # The various icons for the app.
           {
@@ -155,17 +162,20 @@
             "size": 42, # Size of the icon. Represented as the maximum of the width and height.
           },
         ],
+        "shortDescription": "A String", # A short description of the app.
         "secondaryFileExtensions": [ # The list of secondary file extensions.
           "A String",
         ],
+        "useByDefault": True or False, # Whether the app is selected as the default handler for the types it supports.
         "installed": True or False, # Whether the app is installed.
-        "productUrl": "A String", # The product URL.
-        "secondaryMimeTypes": [ # The list of secondary mime types.
-          "A String",
-        ],
+        "supportsMultiOpen": True or False, # Whether this app supports opening more than one file.
+        "productUrl": "A String", # A link to the product listing for this app.
+        "productId": "A String", # The ID of the product listing for this app.
         "authorized": True or False, # Whether the app is authorized to access data on the user's Drive.
         "supportsCreate": True or False, # Whether this app supports creating new objects.
         "supportsImport": True or False, # Whether this app supports importing Google Docs.
+        "openUrlTemplate": "A String", # The template url for opening files with this app. The template will contain {ids} and/or {exportIds} to be replaced by the actual file ids.
+        "longDescription": "A String", # A long description of the app.
         "primaryMimeTypes": [ # The list of primary mime types.
           "A String",
         ],
diff --git a/docs/dyn/drive_v2.changes.html b/docs/dyn/drive_v2.changes.html
index 505e7af..f069e26 100644
--- a/docs/dyn/drive_v2.changes.html
+++ b/docs/dyn/drive_v2.changes.html
@@ -83,6 +83,9 @@
 <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="#watch">watch(body, includeSubscribed=None, includeDeleted=None, pageToken=None, maxResults=None, startChangeId=None)</a></code></p>
+<p class="firstline">Subscribe to changes for a user.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="get">get(changeId)</code>
@@ -99,6 +102,8 @@
     "deleted": True or False, # Whether the file has been deleted.
     "file": { # The metadata for a file. # The updated state of the file. Present if the file has not been deleted.
       "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
+      "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+      "appDataContents": True or False, # Whether this file is in the appdata folder.
       "thumbnailLink": "A String", # A link to the file's thumbnail.
       "labels": { # A group of labels for the file.
         "restricted": True or False, # Whether viewers are prevented from downloading this file.
@@ -111,7 +116,6 @@
         "text": "A String", # The text to be indexed for this file.
       },
       "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-      "etag": "A String", # ETag of the file.
       "lastModifyingUserName": "A String", # Name of the last user to modify this file.
       "writersCanShare": True or False, # Whether writers can share the document with other users.
       "owners": [ # The owner(s) of this file.
@@ -135,13 +139,13 @@
         "displayName": "A String", # A plain text displayable name for this user.
         "permissionId": "A String", # The user's ID as visible in the permissions collection.
       },
-      "title": "A String", # The title of this file.
+      "copyable": True or False, # Whether the file can be copied by the current user.
       "ownerNames": [ # Name(s) of the owner(s) of this file.
         "A String",
       ],
       "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
       "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-      "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+      "etag": "A String", # ETag of the file.
       "parents": [ # Collection of parent folders which contain this file.
           # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
         { # A reference to a file's parent.
@@ -160,16 +164,9 @@
         "mimeType": "A String", # The MIME type of the thumbnail.
         "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
       },
-      "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-      "description": "A String", # A short description of the file.
-      "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-      "editable": True or False, # Whether the file can be edited by the current user.
-      "kind": "drive#file", # The type of file. This is always drive#file.
-      "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-      "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-      "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-      "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-      "iconLink": "A String", # A link to the file's icon.
+      "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
+        "a_key": "A String",
+      },
       "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
         "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
         "exposureTime": 3.14, # The length of the exposure, in seconds.
@@ -197,23 +194,46 @@
         "whiteBalance": "A String", # The white balance mode used to create the photo.
         "cameraModel": "A String", # The model of the camera used to create the photo.
       },
+      "description": "A String", # A short description of the file.
+      "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
+      "editable": True or False, # Whether the file can be edited by the current user.
+      "kind": "drive#file", # The type of file. This is always drive#file.
+      "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
+      "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
+      "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
+      "properties": [ # The list of properties.
+        { # A key-value pair that is either public or private to an application.
+          "kind": "drive#property", # This is always drive#property.
+          "value": "A String", # The value of this property.
+          "etag": "A String", # ETag of the property.
+          "visibility": "A String", # The visibility of this property.
+          "key": "A String", # The key of this property.
+          "selfLink": "A String", # The link back to this property.
+        },
+      ],
+      "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
+      "iconLink": "A String", # A link to the file's icon.
+      "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
       "embedLink": "A String", # A link for embedding the file.
       "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
+      "title": "A String", # The title of this file.
       "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
       "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
       "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
         "withLink": True or False, # Whether the link is required for this permission.
-        "kind": "drive#permission", # This is always drive#permission.
+        "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
         "name": "A String", # The name for this permission.
-        "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+        "kind": "drive#permission", # This is always drive#permission.
+        "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
         "id": "A String", # The ID of the permission.
         "authKey": "A String", # The authkey parameter required for this permission.
         "etag": "A String", # The ETag of the permission.
+        "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+        "photoLink": "A String", # A link to the profile photo, if available.
         "role": "A String", # The primary role for this user. Allowed values are:
             # - owner
             # - reader
             # - writer
-        "photoLink": "A String", # A link to the profile photo, if available.
         "type": "A String", # The account type. Allowed values are:
             # - user
             # - group
@@ -224,10 +244,13 @@
         ],
         "selfLink": "A String", # A link back to this permission.
       },
+      "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
       "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
+      "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
       "selfLink": "A String", # A link back to this file.
       "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
     },
+    "modificationDate": "A String", # The time of this modification.
     "id": "A String", # The ID of the change.
     "selfLink": "A String", # A link back to this change.
     "fileId": "A String", # The ID of the file associated with this change.
@@ -257,6 +280,8 @@
         "deleted": True or False, # Whether the file has been deleted.
         "file": { # The metadata for a file. # The updated state of the file. Present if the file has not been deleted.
           "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
+          "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+          "appDataContents": True or False, # Whether this file is in the appdata folder.
           "thumbnailLink": "A String", # A link to the file's thumbnail.
           "labels": { # A group of labels for the file.
             "restricted": True or False, # Whether viewers are prevented from downloading this file.
@@ -269,7 +294,6 @@
             "text": "A String", # The text to be indexed for this file.
           },
           "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-          "etag": "A String", # ETag of the file.
           "lastModifyingUserName": "A String", # Name of the last user to modify this file.
           "writersCanShare": True or False, # Whether writers can share the document with other users.
           "owners": [ # The owner(s) of this file.
@@ -293,13 +317,13 @@
             "displayName": "A String", # A plain text displayable name for this user.
             "permissionId": "A String", # The user's ID as visible in the permissions collection.
           },
-          "title": "A String", # The title of this file.
+          "copyable": True or False, # Whether the file can be copied by the current user.
           "ownerNames": [ # Name(s) of the owner(s) of this file.
             "A String",
           ],
           "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
           "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-          "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+          "etag": "A String", # ETag of the file.
           "parents": [ # Collection of parent folders which contain this file.
               # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
             { # A reference to a file's parent.
@@ -318,16 +342,9 @@
             "mimeType": "A String", # The MIME type of the thumbnail.
             "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
           },
-          "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-          "description": "A String", # A short description of the file.
-          "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-          "editable": True or False, # Whether the file can be edited by the current user.
-          "kind": "drive#file", # The type of file. This is always drive#file.
-          "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-          "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-          "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-          "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-          "iconLink": "A String", # A link to the file's icon.
+          "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
+            "a_key": "A String",
+          },
           "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
             "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
             "exposureTime": 3.14, # The length of the exposure, in seconds.
@@ -355,23 +372,46 @@
             "whiteBalance": "A String", # The white balance mode used to create the photo.
             "cameraModel": "A String", # The model of the camera used to create the photo.
           },
+          "description": "A String", # A short description of the file.
+          "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
+          "editable": True or False, # Whether the file can be edited by the current user.
+          "kind": "drive#file", # The type of file. This is always drive#file.
+          "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
+          "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
+          "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
+          "properties": [ # The list of properties.
+            { # A key-value pair that is either public or private to an application.
+              "kind": "drive#property", # This is always drive#property.
+              "value": "A String", # The value of this property.
+              "etag": "A String", # ETag of the property.
+              "visibility": "A String", # The visibility of this property.
+              "key": "A String", # The key of this property.
+              "selfLink": "A String", # The link back to this property.
+            },
+          ],
+          "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
+          "iconLink": "A String", # A link to the file's icon.
+          "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
           "embedLink": "A String", # A link for embedding the file.
           "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
+          "title": "A String", # The title of this file.
           "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
           "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
           "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
             "withLink": True or False, # Whether the link is required for this permission.
-            "kind": "drive#permission", # This is always drive#permission.
+            "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
             "name": "A String", # The name for this permission.
-            "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+            "kind": "drive#permission", # This is always drive#permission.
+            "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
             "id": "A String", # The ID of the permission.
             "authKey": "A String", # The authkey parameter required for this permission.
             "etag": "A String", # The ETag of the permission.
+            "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+            "photoLink": "A String", # A link to the profile photo, if available.
             "role": "A String", # The primary role for this user. Allowed values are:
                 # - owner
                 # - reader
                 # - writer
-            "photoLink": "A String", # A link to the profile photo, if available.
             "type": "A String", # The account type. Allowed values are:
                 # - user
                 # - group
@@ -382,10 +422,13 @@
             ],
             "selfLink": "A String", # A link back to this permission.
           },
+          "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
           "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
+          "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
           "selfLink": "A String", # A link back to this file.
           "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
         },
+        "modificationDate": "A String", # The time of this modification.
         "id": "A String", # The ID of the change.
         "selfLink": "A String", # A link back to this change.
         "fileId": "A String", # The ID of the file associated with this change.
@@ -412,4 +455,50 @@
     </pre>
 </div>
 
+<div class="method">
+    <code class="details" id="watch">watch(body, includeSubscribed=None, includeDeleted=None, pageToken=None, maxResults=None, startChangeId=None)</code>
+  <pre>Subscribe to changes for a user.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "resourceUri": "A String", # The canonicalized ID of the watched resource.
+    "kind": "api#channel", # A channel watching an API resource
+    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
+    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
+    "params": { # Additional parameters controlling delivery channel behavior
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # The expiration instant for this channel if it is defined.
+    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
+    "type": "A String", # The type of delivery mechanism used by this channel
+    "id": "A String", # A UUID for the channel
+  }
+
+  includeSubscribed: boolean, Whether to include shared files and public files the user has opened. When set to false, the list will include owned files plus any shared or public files the user has explictly added to a folder in Drive.
+  includeDeleted: boolean, Whether to include deleted items.
+  pageToken: string, Page token for changes.
+  maxResults: integer, Maximum number of changes to return.
+  startChangeId: string, Change ID to start listing changes from.
+
+Returns:
+  An object of the form:
+
+    {
+      "resourceUri": "A String", # The canonicalized ID of the watched resource.
+      "kind": "api#channel", # A channel watching an API resource
+      "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
+      "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
+      "params": { # Additional parameters controlling delivery channel behavior
+        "a_key": "A String", # Declares a new parameter by name.
+      },
+      "expiration": "A String", # The expiration instant for this channel if it is defined.
+      "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
+      "type": "A String", # The type of delivery mechanism used by this channel
+      "id": "A String", # A UUID for the channel
+    }</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.channels.html b/docs/dyn/drive_v2.channels.html
new file mode 100644
index 0000000..6eaf6f7
--- /dev/null
+++ b/docs/dyn/drive_v2.channels.html
@@ -0,0 +1,106 @@
+<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="drive_v2.html">Drive API</a> . <a href="drive_v2.channels.html">channels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#stop">stop(body)</a></code></p>
+<p class="firstline">A description of how to use this function</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="stop">stop(body)</code>
+  <pre>A description of how to use this function
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "resourceUri": "A String", # The canonicalized ID of the watched resource.
+    "kind": "api#channel", # A channel watching an API resource
+    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
+    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
+    "params": { # Additional parameters controlling delivery channel behavior
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # The expiration instant for this channel if it is defined.
+    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
+    "type": "A String", # The type of delivery mechanism used by this channel
+    "id": "A String", # A UUID for the channel
+  }
+
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.comments.html b/docs/dyn/drive_v2.comments.html
index da882e7..5d95ed3 100644
--- a/docs/dyn/drive_v2.comments.html
+++ b/docs/dyn/drive_v2.comments.html
@@ -363,6 +363,8 @@
         },
     ],
     "kind": "drive#commentList", # This is always drive#commentList.
+    "selfLink": "A String", # A link back to this list.
+    "nextLink": "A String", # A link to the next page of comments.
   }</pre>
 </div>
 
diff --git a/docs/dyn/drive_v2.files.html b/docs/dyn/drive_v2.files.html
index 407b827..acbcd80 100644
--- a/docs/dyn/drive_v2.files.html
+++ b/docs/dyn/drive_v2.files.html
@@ -75,7 +75,7 @@
 <h1><a href="drive_v2.html">Drive API</a> . <a href="drive_v2.files.html">files</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
-  <code><a href="#copy">copy(fileId, body, pinned=None, convert=None, ocrLanguage=None, ocr=None, timedTextLanguage=None, timedTextTrackName=None)</a></code></p>
+  <code><a href="#copy">copy(fileId, body, pinned=None, convert=None, visibility=None, ocrLanguage=None, ocr=None, timedTextLanguage=None, timedTextTrackName=None)</a></code></p>
 <p class="firstline">Creates a copy of the specified file.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(fileId)</a></code></p>
@@ -84,7 +84,7 @@
   <code><a href="#get">get(fileId, projection=None, updateViewedDate=None)</a></code></p>
 <p class="firstline">Gets a file's metadata by ID.</p>
 <p class="toc_element">
-  <code><a href="#insert">insert(body=None, media_body=None, convert=None, useContentAsIndexableText=None, ocrLanguage=None, ocr=None, timedTextLanguage=None, timedTextTrackName=None, pinned=None)</a></code></p>
+  <code><a href="#insert">insert(body=None, media_body=None, convert=None, useContentAsIndexableText=None, visibility=None, ocrLanguage=None, ocr=None, timedTextLanguage=None, timedTextTrackName=None, pinned=None)</a></code></p>
 <p class="firstline">Insert a new file.</p>
 <p class="toc_element">
   <code><a href="#list">list(q=None, projection=None, pageToken=None, maxResults=None)</a></code></p>
@@ -107,9 +107,12 @@
 <p class="toc_element">
   <code><a href="#update">update(fileId, body=None, newRevision=None, media_body=None, ocrLanguage=None, ocr=None, pinned=None, updateViewedDate=None, timedTextTrackName=None, convert=None, useContentAsIndexableText=None, setModifiedDate=None, timedTextLanguage=None)</a></code></p>
 <p class="firstline">Updates file metadata and/or content.</p>
+<p class="toc_element">
+  <code><a href="#watch">watch(fileId, body, projection=None, updateViewedDate=None)</a></code></p>
+<p class="firstline">Subscribe to changes on a file</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="copy">copy(fileId, body, pinned=None, convert=None, ocrLanguage=None, ocr=None, timedTextLanguage=None, timedTextTrackName=None)</code>
+    <code class="details" id="copy">copy(fileId, body, pinned=None, convert=None, visibility=None, ocrLanguage=None, ocr=None, timedTextLanguage=None, timedTextTrackName=None)</code>
   <pre>Creates a copy of the specified file.
 
 Args:
@@ -119,6 +122,8 @@
 
 { # The metadata for a file.
   "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
+  "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+  "appDataContents": True or False, # Whether this file is in the appdata folder.
   "thumbnailLink": "A String", # A link to the file's thumbnail.
   "labels": { # A group of labels for the file.
     "restricted": True or False, # Whether viewers are prevented from downloading this file.
@@ -131,7 +136,6 @@
     "text": "A String", # The text to be indexed for this file.
   },
   "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-  "etag": "A String", # ETag of the file.
   "lastModifyingUserName": "A String", # Name of the last user to modify this file.
   "writersCanShare": True or False, # Whether writers can share the document with other users.
   "owners": [ # The owner(s) of this file.
@@ -155,13 +159,13 @@
     "displayName": "A String", # A plain text displayable name for this user.
     "permissionId": "A String", # The user's ID as visible in the permissions collection.
   },
-  "title": "A String", # The title of this file.
+  "copyable": True or False, # Whether the file can be copied by the current user.
   "ownerNames": [ # Name(s) of the owner(s) of this file.
     "A String",
   ],
   "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
   "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-  "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+  "etag": "A String", # ETag of the file.
   "parents": [ # Collection of parent folders which contain this file.
       # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
     { # A reference to a file's parent.
@@ -180,16 +184,9 @@
     "mimeType": "A String", # The MIME type of the thumbnail.
     "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
   },
-  "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-  "description": "A String", # A short description of the file.
-  "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-  "editable": True or False, # Whether the file can be edited by the current user.
-  "kind": "drive#file", # The type of file. This is always drive#file.
-  "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-  "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-  "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-  "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-  "iconLink": "A String", # A link to the file's icon.
+  "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
+    "a_key": "A String",
+  },
   "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
     "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
     "exposureTime": 3.14, # The length of the exposure, in seconds.
@@ -217,23 +214,46 @@
     "whiteBalance": "A String", # The white balance mode used to create the photo.
     "cameraModel": "A String", # The model of the camera used to create the photo.
   },
+  "description": "A String", # A short description of the file.
+  "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
+  "editable": True or False, # Whether the file can be edited by the current user.
+  "kind": "drive#file", # The type of file. This is always drive#file.
+  "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
+  "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
+  "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
+  "properties": [ # The list of properties.
+    { # A key-value pair that is either public or private to an application.
+      "kind": "drive#property", # This is always drive#property.
+      "value": "A String", # The value of this property.
+      "etag": "A String", # ETag of the property.
+      "visibility": "A String", # The visibility of this property.
+      "key": "A String", # The key of this property.
+      "selfLink": "A String", # The link back to this property.
+    },
+  ],
+  "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
+  "iconLink": "A String", # A link to the file's icon.
+  "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
   "embedLink": "A String", # A link for embedding the file.
   "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
+  "title": "A String", # The title of this file.
   "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
   "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
   "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
     "withLink": True or False, # Whether the link is required for this permission.
-    "kind": "drive#permission", # This is always drive#permission.
+    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
     "name": "A String", # The name for this permission.
-    "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+    "kind": "drive#permission", # This is always drive#permission.
+    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
     "id": "A String", # The ID of the permission.
     "authKey": "A String", # The authkey parameter required for this permission.
     "etag": "A String", # The ETag of the permission.
+    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+    "photoLink": "A String", # A link to the profile photo, if available.
     "role": "A String", # The primary role for this user. Allowed values are:
         # - owner
         # - reader
         # - writer
-    "photoLink": "A String", # A link to the profile photo, if available.
     "type": "A String", # The account type. Allowed values are:
         # - user
         # - group
@@ -244,13 +264,19 @@
     ],
     "selfLink": "A String", # A link back to this permission.
   },
+  "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
   "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
+  "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
   "selfLink": "A String", # A link back to this file.
   "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
 }
 
   pinned: boolean, Whether to pin the head revision of the new copy.
   convert: boolean, Whether to convert this file to the corresponding Google Docs format.
+  visibility: string, The visibility of the new file. This parameter is only relevant when the source is not a native Google Doc and convert=false.
+    Allowed values
+      DEFAULT - The visibility of the new file is determined by the user's default visibility/sharing policies.
+      PRIVATE - The new file will be visible to only the owner.
   ocrLanguage: string, If ocr is true, hints at the language to use. Valid values are ISO 639-1 codes.
   ocr: boolean, Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.
   timedTextLanguage: string, The language of the timed text.
@@ -261,6 +287,8 @@
 
     { # The metadata for a file.
     "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
+    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+    "appDataContents": True or False, # Whether this file is in the appdata folder.
     "thumbnailLink": "A String", # A link to the file's thumbnail.
     "labels": { # A group of labels for the file.
       "restricted": True or False, # Whether viewers are prevented from downloading this file.
@@ -273,7 +301,6 @@
       "text": "A String", # The text to be indexed for this file.
     },
     "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-    "etag": "A String", # ETag of the file.
     "lastModifyingUserName": "A String", # Name of the last user to modify this file.
     "writersCanShare": True or False, # Whether writers can share the document with other users.
     "owners": [ # The owner(s) of this file.
@@ -297,13 +324,13 @@
       "displayName": "A String", # A plain text displayable name for this user.
       "permissionId": "A String", # The user's ID as visible in the permissions collection.
     },
-    "title": "A String", # The title of this file.
+    "copyable": True or False, # Whether the file can be copied by the current user.
     "ownerNames": [ # Name(s) of the owner(s) of this file.
       "A String",
     ],
     "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
     "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+    "etag": "A String", # ETag of the file.
     "parents": [ # Collection of parent folders which contain this file.
         # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
       { # A reference to a file's parent.
@@ -322,16 +349,9 @@
       "mimeType": "A String", # The MIME type of the thumbnail.
       "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
     },
-    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-    "description": "A String", # A short description of the file.
-    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-    "editable": True or False, # Whether the file can be edited by the current user.
-    "kind": "drive#file", # The type of file. This is always drive#file.
-    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-    "iconLink": "A String", # A link to the file's icon.
+    "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
+      "a_key": "A String",
+    },
     "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
       "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
       "exposureTime": 3.14, # The length of the exposure, in seconds.
@@ -359,23 +379,46 @@
       "whiteBalance": "A String", # The white balance mode used to create the photo.
       "cameraModel": "A String", # The model of the camera used to create the photo.
     },
+    "description": "A String", # A short description of the file.
+    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
+    "editable": True or False, # Whether the file can be edited by the current user.
+    "kind": "drive#file", # The type of file. This is always drive#file.
+    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
+    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
+    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
+    "properties": [ # The list of properties.
+      { # A key-value pair that is either public or private to an application.
+        "kind": "drive#property", # This is always drive#property.
+        "value": "A String", # The value of this property.
+        "etag": "A String", # ETag of the property.
+        "visibility": "A String", # The visibility of this property.
+        "key": "A String", # The key of this property.
+        "selfLink": "A String", # The link back to this property.
+      },
+    ],
+    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
+    "iconLink": "A String", # A link to the file's icon.
+    "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
     "embedLink": "A String", # A link for embedding the file.
     "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
+    "title": "A String", # The title of this file.
     "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
     "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
     "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
       "withLink": True or False, # Whether the link is required for this permission.
-      "kind": "drive#permission", # This is always drive#permission.
+      "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
       "name": "A String", # The name for this permission.
-      "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+      "kind": "drive#permission", # This is always drive#permission.
+      "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
       "id": "A String", # The ID of the permission.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
+      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+      "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
           # - reader
           # - writer
-      "photoLink": "A String", # A link to the profile photo, if available.
       "type": "A String", # The account type. Allowed values are:
           # - user
           # - group
@@ -386,7 +429,9 @@
       ],
       "selfLink": "A String", # A link back to this permission.
     },
+    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
     "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
+    "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
     "selfLink": "A String", # A link back to this file.
     "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
   }</pre>
@@ -418,6 +463,8 @@
 
     { # The metadata for a file.
     "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
+    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+    "appDataContents": True or False, # Whether this file is in the appdata folder.
     "thumbnailLink": "A String", # A link to the file's thumbnail.
     "labels": { # A group of labels for the file.
       "restricted": True or False, # Whether viewers are prevented from downloading this file.
@@ -430,7 +477,6 @@
       "text": "A String", # The text to be indexed for this file.
     },
     "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-    "etag": "A String", # ETag of the file.
     "lastModifyingUserName": "A String", # Name of the last user to modify this file.
     "writersCanShare": True or False, # Whether writers can share the document with other users.
     "owners": [ # The owner(s) of this file.
@@ -454,13 +500,13 @@
       "displayName": "A String", # A plain text displayable name for this user.
       "permissionId": "A String", # The user's ID as visible in the permissions collection.
     },
-    "title": "A String", # The title of this file.
+    "copyable": True or False, # Whether the file can be copied by the current user.
     "ownerNames": [ # Name(s) of the owner(s) of this file.
       "A String",
     ],
     "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
     "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+    "etag": "A String", # ETag of the file.
     "parents": [ # Collection of parent folders which contain this file.
         # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
       { # A reference to a file's parent.
@@ -479,16 +525,9 @@
       "mimeType": "A String", # The MIME type of the thumbnail.
       "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
     },
-    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-    "description": "A String", # A short description of the file.
-    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-    "editable": True or False, # Whether the file can be edited by the current user.
-    "kind": "drive#file", # The type of file. This is always drive#file.
-    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-    "iconLink": "A String", # A link to the file's icon.
+    "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
+      "a_key": "A String",
+    },
     "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
       "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
       "exposureTime": 3.14, # The length of the exposure, in seconds.
@@ -516,23 +555,46 @@
       "whiteBalance": "A String", # The white balance mode used to create the photo.
       "cameraModel": "A String", # The model of the camera used to create the photo.
     },
+    "description": "A String", # A short description of the file.
+    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
+    "editable": True or False, # Whether the file can be edited by the current user.
+    "kind": "drive#file", # The type of file. This is always drive#file.
+    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
+    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
+    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
+    "properties": [ # The list of properties.
+      { # A key-value pair that is either public or private to an application.
+        "kind": "drive#property", # This is always drive#property.
+        "value": "A String", # The value of this property.
+        "etag": "A String", # ETag of the property.
+        "visibility": "A String", # The visibility of this property.
+        "key": "A String", # The key of this property.
+        "selfLink": "A String", # The link back to this property.
+      },
+    ],
+    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
+    "iconLink": "A String", # A link to the file's icon.
+    "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
     "embedLink": "A String", # A link for embedding the file.
     "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
+    "title": "A String", # The title of this file.
     "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
     "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
     "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
       "withLink": True or False, # Whether the link is required for this permission.
-      "kind": "drive#permission", # This is always drive#permission.
+      "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
       "name": "A String", # The name for this permission.
-      "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+      "kind": "drive#permission", # This is always drive#permission.
+      "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
       "id": "A String", # The ID of the permission.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
+      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+      "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
           # - reader
           # - writer
-      "photoLink": "A String", # A link to the profile photo, if available.
       "type": "A String", # The account type. Allowed values are:
           # - user
           # - group
@@ -543,14 +605,16 @@
       ],
       "selfLink": "A String", # A link back to this permission.
     },
+    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
     "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
+    "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
     "selfLink": "A String", # A link back to this file.
     "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="insert">insert(body=None, media_body=None, convert=None, useContentAsIndexableText=None, ocrLanguage=None, ocr=None, timedTextLanguage=None, timedTextTrackName=None, pinned=None)</code>
+    <code class="details" id="insert">insert(body=None, media_body=None, convert=None, useContentAsIndexableText=None, visibility=None, ocrLanguage=None, ocr=None, timedTextLanguage=None, timedTextTrackName=None, pinned=None)</code>
   <pre>Insert a new file.
 
 Args:
@@ -559,6 +623,8 @@
 
 { # The metadata for a file.
   "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
+  "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+  "appDataContents": True or False, # Whether this file is in the appdata folder.
   "thumbnailLink": "A String", # A link to the file's thumbnail.
   "labels": { # A group of labels for the file.
     "restricted": True or False, # Whether viewers are prevented from downloading this file.
@@ -571,7 +637,6 @@
     "text": "A String", # The text to be indexed for this file.
   },
   "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-  "etag": "A String", # ETag of the file.
   "lastModifyingUserName": "A String", # Name of the last user to modify this file.
   "writersCanShare": True or False, # Whether writers can share the document with other users.
   "owners": [ # The owner(s) of this file.
@@ -595,13 +660,13 @@
     "displayName": "A String", # A plain text displayable name for this user.
     "permissionId": "A String", # The user's ID as visible in the permissions collection.
   },
-  "title": "A String", # The title of this file.
+  "copyable": True or False, # Whether the file can be copied by the current user.
   "ownerNames": [ # Name(s) of the owner(s) of this file.
     "A String",
   ],
   "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
   "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-  "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+  "etag": "A String", # ETag of the file.
   "parents": [ # Collection of parent folders which contain this file.
       # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
     { # A reference to a file's parent.
@@ -620,16 +685,9 @@
     "mimeType": "A String", # The MIME type of the thumbnail.
     "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
   },
-  "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-  "description": "A String", # A short description of the file.
-  "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-  "editable": True or False, # Whether the file can be edited by the current user.
-  "kind": "drive#file", # The type of file. This is always drive#file.
-  "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-  "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-  "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-  "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-  "iconLink": "A String", # A link to the file's icon.
+  "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
+    "a_key": "A String",
+  },
   "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
     "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
     "exposureTime": 3.14, # The length of the exposure, in seconds.
@@ -657,23 +715,46 @@
     "whiteBalance": "A String", # The white balance mode used to create the photo.
     "cameraModel": "A String", # The model of the camera used to create the photo.
   },
+  "description": "A String", # A short description of the file.
+  "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
+  "editable": True or False, # Whether the file can be edited by the current user.
+  "kind": "drive#file", # The type of file. This is always drive#file.
+  "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
+  "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
+  "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
+  "properties": [ # The list of properties.
+    { # A key-value pair that is either public or private to an application.
+      "kind": "drive#property", # This is always drive#property.
+      "value": "A String", # The value of this property.
+      "etag": "A String", # ETag of the property.
+      "visibility": "A String", # The visibility of this property.
+      "key": "A String", # The key of this property.
+      "selfLink": "A String", # The link back to this property.
+    },
+  ],
+  "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
+  "iconLink": "A String", # A link to the file's icon.
+  "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
   "embedLink": "A String", # A link for embedding the file.
   "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
+  "title": "A String", # The title of this file.
   "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
   "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
   "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
     "withLink": True or False, # Whether the link is required for this permission.
-    "kind": "drive#permission", # This is always drive#permission.
+    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
     "name": "A String", # The name for this permission.
-    "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+    "kind": "drive#permission", # This is always drive#permission.
+    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
     "id": "A String", # The ID of the permission.
     "authKey": "A String", # The authkey parameter required for this permission.
     "etag": "A String", # The ETag of the permission.
+    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+    "photoLink": "A String", # A link to the profile photo, if available.
     "role": "A String", # The primary role for this user. Allowed values are:
         # - owner
         # - reader
         # - writer
-    "photoLink": "A String", # A link to the profile photo, if available.
     "type": "A String", # The account type. Allowed values are:
         # - user
         # - group
@@ -684,7 +765,9 @@
     ],
     "selfLink": "A String", # A link back to this permission.
   },
+  "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
   "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
+  "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
   "selfLink": "A String", # A link back to this file.
   "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
 }
@@ -692,6 +775,10 @@
   media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
   convert: boolean, Whether to convert this file to the corresponding Google Docs format.
   useContentAsIndexableText: boolean, Whether to use the content as indexable text.
+  visibility: string, The visibility of the new file. This parameter is only relevant when convert=false.
+    Allowed values
+      DEFAULT - The visibility of the new file is determined by the user's default visibility/sharing policies.
+      PRIVATE - The new file will be visible to only the owner.
   ocrLanguage: string, If ocr is true, hints at the language to use. Valid values are ISO 639-1 codes.
   ocr: boolean, Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.
   timedTextLanguage: string, The language of the timed text.
@@ -703,6 +790,8 @@
 
     { # The metadata for a file.
     "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
+    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+    "appDataContents": True or False, # Whether this file is in the appdata folder.
     "thumbnailLink": "A String", # A link to the file's thumbnail.
     "labels": { # A group of labels for the file.
       "restricted": True or False, # Whether viewers are prevented from downloading this file.
@@ -715,7 +804,6 @@
       "text": "A String", # The text to be indexed for this file.
     },
     "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-    "etag": "A String", # ETag of the file.
     "lastModifyingUserName": "A String", # Name of the last user to modify this file.
     "writersCanShare": True or False, # Whether writers can share the document with other users.
     "owners": [ # The owner(s) of this file.
@@ -739,13 +827,13 @@
       "displayName": "A String", # A plain text displayable name for this user.
       "permissionId": "A String", # The user's ID as visible in the permissions collection.
     },
-    "title": "A String", # The title of this file.
+    "copyable": True or False, # Whether the file can be copied by the current user.
     "ownerNames": [ # Name(s) of the owner(s) of this file.
       "A String",
     ],
     "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
     "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+    "etag": "A String", # ETag of the file.
     "parents": [ # Collection of parent folders which contain this file.
         # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
       { # A reference to a file's parent.
@@ -764,16 +852,9 @@
       "mimeType": "A String", # The MIME type of the thumbnail.
       "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
     },
-    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-    "description": "A String", # A short description of the file.
-    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-    "editable": True or False, # Whether the file can be edited by the current user.
-    "kind": "drive#file", # The type of file. This is always drive#file.
-    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-    "iconLink": "A String", # A link to the file's icon.
+    "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
+      "a_key": "A String",
+    },
     "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
       "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
       "exposureTime": 3.14, # The length of the exposure, in seconds.
@@ -801,23 +882,46 @@
       "whiteBalance": "A String", # The white balance mode used to create the photo.
       "cameraModel": "A String", # The model of the camera used to create the photo.
     },
+    "description": "A String", # A short description of the file.
+    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
+    "editable": True or False, # Whether the file can be edited by the current user.
+    "kind": "drive#file", # The type of file. This is always drive#file.
+    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
+    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
+    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
+    "properties": [ # The list of properties.
+      { # A key-value pair that is either public or private to an application.
+        "kind": "drive#property", # This is always drive#property.
+        "value": "A String", # The value of this property.
+        "etag": "A String", # ETag of the property.
+        "visibility": "A String", # The visibility of this property.
+        "key": "A String", # The key of this property.
+        "selfLink": "A String", # The link back to this property.
+      },
+    ],
+    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
+    "iconLink": "A String", # A link to the file's icon.
+    "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
     "embedLink": "A String", # A link for embedding the file.
     "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
+    "title": "A String", # The title of this file.
     "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
     "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
     "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
       "withLink": True or False, # Whether the link is required for this permission.
-      "kind": "drive#permission", # This is always drive#permission.
+      "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
       "name": "A String", # The name for this permission.
-      "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+      "kind": "drive#permission", # This is always drive#permission.
+      "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
       "id": "A String", # The ID of the permission.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
+      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+      "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
           # - reader
           # - writer
-      "photoLink": "A String", # A link to the profile photo, if available.
       "type": "A String", # The account type. Allowed values are:
           # - user
           # - group
@@ -828,7 +932,9 @@
       ],
       "selfLink": "A String", # A link back to this permission.
     },
+    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
     "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
+    "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
     "selfLink": "A String", # A link back to this file.
     "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
   }</pre>
@@ -856,6 +962,8 @@
     "items": [ # The actual list of files.
       { # The metadata for a file.
         "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
+        "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+        "appDataContents": True or False, # Whether this file is in the appdata folder.
         "thumbnailLink": "A String", # A link to the file's thumbnail.
         "labels": { # A group of labels for the file.
           "restricted": True or False, # Whether viewers are prevented from downloading this file.
@@ -868,7 +976,6 @@
           "text": "A String", # The text to be indexed for this file.
         },
         "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-        "etag": "A String", # ETag of the file.
         "lastModifyingUserName": "A String", # Name of the last user to modify this file.
         "writersCanShare": True or False, # Whether writers can share the document with other users.
         "owners": [ # The owner(s) of this file.
@@ -892,13 +999,13 @@
           "displayName": "A String", # A plain text displayable name for this user.
           "permissionId": "A String", # The user's ID as visible in the permissions collection.
         },
-        "title": "A String", # The title of this file.
+        "copyable": True or False, # Whether the file can be copied by the current user.
         "ownerNames": [ # Name(s) of the owner(s) of this file.
           "A String",
         ],
         "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
         "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-        "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+        "etag": "A String", # ETag of the file.
         "parents": [ # Collection of parent folders which contain this file.
             # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
           { # A reference to a file's parent.
@@ -917,16 +1024,9 @@
           "mimeType": "A String", # The MIME type of the thumbnail.
           "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
         },
-        "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-        "description": "A String", # A short description of the file.
-        "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-        "editable": True or False, # Whether the file can be edited by the current user.
-        "kind": "drive#file", # The type of file. This is always drive#file.
-        "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-        "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-        "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-        "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-        "iconLink": "A String", # A link to the file's icon.
+        "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
+          "a_key": "A String",
+        },
         "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
           "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
           "exposureTime": 3.14, # The length of the exposure, in seconds.
@@ -954,23 +1054,46 @@
           "whiteBalance": "A String", # The white balance mode used to create the photo.
           "cameraModel": "A String", # The model of the camera used to create the photo.
         },
+        "description": "A String", # A short description of the file.
+        "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
+        "editable": True or False, # Whether the file can be edited by the current user.
+        "kind": "drive#file", # The type of file. This is always drive#file.
+        "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
+        "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
+        "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
+        "properties": [ # The list of properties.
+          { # A key-value pair that is either public or private to an application.
+            "kind": "drive#property", # This is always drive#property.
+            "value": "A String", # The value of this property.
+            "etag": "A String", # ETag of the property.
+            "visibility": "A String", # The visibility of this property.
+            "key": "A String", # The key of this property.
+            "selfLink": "A String", # The link back to this property.
+          },
+        ],
+        "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
+        "iconLink": "A String", # A link to the file's icon.
+        "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
         "embedLink": "A String", # A link for embedding the file.
         "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
+        "title": "A String", # The title of this file.
         "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
         "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
         "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
           "withLink": True or False, # Whether the link is required for this permission.
-          "kind": "drive#permission", # This is always drive#permission.
+          "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
           "name": "A String", # The name for this permission.
-          "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+          "kind": "drive#permission", # This is always drive#permission.
+          "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
           "id": "A String", # The ID of the permission.
           "authKey": "A String", # The authkey parameter required for this permission.
           "etag": "A String", # The ETag of the permission.
+          "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+          "photoLink": "A String", # A link to the profile photo, if available.
           "role": "A String", # The primary role for this user. Allowed values are:
               # - owner
               # - reader
               # - writer
-          "photoLink": "A String", # A link to the profile photo, if available.
           "type": "A String", # The account type. Allowed values are:
               # - user
               # - group
@@ -981,7 +1104,9 @@
           ],
           "selfLink": "A String", # A link back to this permission.
         },
+        "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
         "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
+        "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
         "selfLink": "A String", # A link back to this file.
         "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
       },
@@ -1017,6 +1142,8 @@
 
 { # The metadata for a file.
   "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
+  "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+  "appDataContents": True or False, # Whether this file is in the appdata folder.
   "thumbnailLink": "A String", # A link to the file's thumbnail.
   "labels": { # A group of labels for the file.
     "restricted": True or False, # Whether viewers are prevented from downloading this file.
@@ -1029,7 +1156,6 @@
     "text": "A String", # The text to be indexed for this file.
   },
   "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-  "etag": "A String", # ETag of the file.
   "lastModifyingUserName": "A String", # Name of the last user to modify this file.
   "writersCanShare": True or False, # Whether writers can share the document with other users.
   "owners": [ # The owner(s) of this file.
@@ -1053,13 +1179,13 @@
     "displayName": "A String", # A plain text displayable name for this user.
     "permissionId": "A String", # The user's ID as visible in the permissions collection.
   },
-  "title": "A String", # The title of this file.
+  "copyable": True or False, # Whether the file can be copied by the current user.
   "ownerNames": [ # Name(s) of the owner(s) of this file.
     "A String",
   ],
   "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
   "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-  "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+  "etag": "A String", # ETag of the file.
   "parents": [ # Collection of parent folders which contain this file.
       # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
     { # A reference to a file's parent.
@@ -1078,16 +1204,9 @@
     "mimeType": "A String", # The MIME type of the thumbnail.
     "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
   },
-  "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-  "description": "A String", # A short description of the file.
-  "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-  "editable": True or False, # Whether the file can be edited by the current user.
-  "kind": "drive#file", # The type of file. This is always drive#file.
-  "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-  "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-  "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-  "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-  "iconLink": "A String", # A link to the file's icon.
+  "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
+    "a_key": "A String",
+  },
   "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
     "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
     "exposureTime": 3.14, # The length of the exposure, in seconds.
@@ -1115,23 +1234,46 @@
     "whiteBalance": "A String", # The white balance mode used to create the photo.
     "cameraModel": "A String", # The model of the camera used to create the photo.
   },
+  "description": "A String", # A short description of the file.
+  "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
+  "editable": True or False, # Whether the file can be edited by the current user.
+  "kind": "drive#file", # The type of file. This is always drive#file.
+  "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
+  "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
+  "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
+  "properties": [ # The list of properties.
+    { # A key-value pair that is either public or private to an application.
+      "kind": "drive#property", # This is always drive#property.
+      "value": "A String", # The value of this property.
+      "etag": "A String", # ETag of the property.
+      "visibility": "A String", # The visibility of this property.
+      "key": "A String", # The key of this property.
+      "selfLink": "A String", # The link back to this property.
+    },
+  ],
+  "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
+  "iconLink": "A String", # A link to the file's icon.
+  "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
   "embedLink": "A String", # A link for embedding the file.
   "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
+  "title": "A String", # The title of this file.
   "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
   "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
   "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
     "withLink": True or False, # Whether the link is required for this permission.
-    "kind": "drive#permission", # This is always drive#permission.
+    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
     "name": "A String", # The name for this permission.
-    "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+    "kind": "drive#permission", # This is always drive#permission.
+    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
     "id": "A String", # The ID of the permission.
     "authKey": "A String", # The authkey parameter required for this permission.
     "etag": "A String", # The ETag of the permission.
+    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+    "photoLink": "A String", # A link to the profile photo, if available.
     "role": "A String", # The primary role for this user. Allowed values are:
         # - owner
         # - reader
         # - writer
-    "photoLink": "A String", # A link to the profile photo, if available.
     "type": "A String", # The account type. Allowed values are:
         # - user
         # - group
@@ -1142,7 +1284,9 @@
     ],
     "selfLink": "A String", # A link back to this permission.
   },
+  "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
   "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
+  "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
   "selfLink": "A String", # A link back to this file.
   "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
 }
@@ -1163,6 +1307,8 @@
 
     { # The metadata for a file.
     "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
+    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+    "appDataContents": True or False, # Whether this file is in the appdata folder.
     "thumbnailLink": "A String", # A link to the file's thumbnail.
     "labels": { # A group of labels for the file.
       "restricted": True or False, # Whether viewers are prevented from downloading this file.
@@ -1175,7 +1321,6 @@
       "text": "A String", # The text to be indexed for this file.
     },
     "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-    "etag": "A String", # ETag of the file.
     "lastModifyingUserName": "A String", # Name of the last user to modify this file.
     "writersCanShare": True or False, # Whether writers can share the document with other users.
     "owners": [ # The owner(s) of this file.
@@ -1199,13 +1344,13 @@
       "displayName": "A String", # A plain text displayable name for this user.
       "permissionId": "A String", # The user's ID as visible in the permissions collection.
     },
-    "title": "A String", # The title of this file.
+    "copyable": True or False, # Whether the file can be copied by the current user.
     "ownerNames": [ # Name(s) of the owner(s) of this file.
       "A String",
     ],
     "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
     "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+    "etag": "A String", # ETag of the file.
     "parents": [ # Collection of parent folders which contain this file.
         # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
       { # A reference to a file's parent.
@@ -1224,16 +1369,9 @@
       "mimeType": "A String", # The MIME type of the thumbnail.
       "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
     },
-    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-    "description": "A String", # A short description of the file.
-    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-    "editable": True or False, # Whether the file can be edited by the current user.
-    "kind": "drive#file", # The type of file. This is always drive#file.
-    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-    "iconLink": "A String", # A link to the file's icon.
+    "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
+      "a_key": "A String",
+    },
     "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
       "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
       "exposureTime": 3.14, # The length of the exposure, in seconds.
@@ -1261,23 +1399,46 @@
       "whiteBalance": "A String", # The white balance mode used to create the photo.
       "cameraModel": "A String", # The model of the camera used to create the photo.
     },
+    "description": "A String", # A short description of the file.
+    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
+    "editable": True or False, # Whether the file can be edited by the current user.
+    "kind": "drive#file", # The type of file. This is always drive#file.
+    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
+    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
+    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
+    "properties": [ # The list of properties.
+      { # A key-value pair that is either public or private to an application.
+        "kind": "drive#property", # This is always drive#property.
+        "value": "A String", # The value of this property.
+        "etag": "A String", # ETag of the property.
+        "visibility": "A String", # The visibility of this property.
+        "key": "A String", # The key of this property.
+        "selfLink": "A String", # The link back to this property.
+      },
+    ],
+    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
+    "iconLink": "A String", # A link to the file's icon.
+    "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
     "embedLink": "A String", # A link for embedding the file.
     "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
+    "title": "A String", # The title of this file.
     "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
     "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
     "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
       "withLink": True or False, # Whether the link is required for this permission.
-      "kind": "drive#permission", # This is always drive#permission.
+      "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
       "name": "A String", # The name for this permission.
-      "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+      "kind": "drive#permission", # This is always drive#permission.
+      "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
       "id": "A String", # The ID of the permission.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
+      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+      "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
           # - reader
           # - writer
-      "photoLink": "A String", # A link to the profile photo, if available.
       "type": "A String", # The account type. Allowed values are:
           # - user
           # - group
@@ -1288,7 +1449,9 @@
       ],
       "selfLink": "A String", # A link back to this permission.
     },
+    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
     "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
+    "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
     "selfLink": "A String", # A link back to this file.
     "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
   }</pre>
@@ -1306,6 +1469,8 @@
 
     { # The metadata for a file.
     "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
+    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+    "appDataContents": True or False, # Whether this file is in the appdata folder.
     "thumbnailLink": "A String", # A link to the file's thumbnail.
     "labels": { # A group of labels for the file.
       "restricted": True or False, # Whether viewers are prevented from downloading this file.
@@ -1318,7 +1483,6 @@
       "text": "A String", # The text to be indexed for this file.
     },
     "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-    "etag": "A String", # ETag of the file.
     "lastModifyingUserName": "A String", # Name of the last user to modify this file.
     "writersCanShare": True or False, # Whether writers can share the document with other users.
     "owners": [ # The owner(s) of this file.
@@ -1342,13 +1506,13 @@
       "displayName": "A String", # A plain text displayable name for this user.
       "permissionId": "A String", # The user's ID as visible in the permissions collection.
     },
-    "title": "A String", # The title of this file.
+    "copyable": True or False, # Whether the file can be copied by the current user.
     "ownerNames": [ # Name(s) of the owner(s) of this file.
       "A String",
     ],
     "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
     "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+    "etag": "A String", # ETag of the file.
     "parents": [ # Collection of parent folders which contain this file.
         # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
       { # A reference to a file's parent.
@@ -1367,16 +1531,9 @@
       "mimeType": "A String", # The MIME type of the thumbnail.
       "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
     },
-    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-    "description": "A String", # A short description of the file.
-    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-    "editable": True or False, # Whether the file can be edited by the current user.
-    "kind": "drive#file", # The type of file. This is always drive#file.
-    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-    "iconLink": "A String", # A link to the file's icon.
+    "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
+      "a_key": "A String",
+    },
     "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
       "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
       "exposureTime": 3.14, # The length of the exposure, in seconds.
@@ -1404,23 +1561,46 @@
       "whiteBalance": "A String", # The white balance mode used to create the photo.
       "cameraModel": "A String", # The model of the camera used to create the photo.
     },
+    "description": "A String", # A short description of the file.
+    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
+    "editable": True or False, # Whether the file can be edited by the current user.
+    "kind": "drive#file", # The type of file. This is always drive#file.
+    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
+    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
+    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
+    "properties": [ # The list of properties.
+      { # A key-value pair that is either public or private to an application.
+        "kind": "drive#property", # This is always drive#property.
+        "value": "A String", # The value of this property.
+        "etag": "A String", # ETag of the property.
+        "visibility": "A String", # The visibility of this property.
+        "key": "A String", # The key of this property.
+        "selfLink": "A String", # The link back to this property.
+      },
+    ],
+    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
+    "iconLink": "A String", # A link to the file's icon.
+    "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
     "embedLink": "A String", # A link for embedding the file.
     "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
+    "title": "A String", # The title of this file.
     "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
     "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
     "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
       "withLink": True or False, # Whether the link is required for this permission.
-      "kind": "drive#permission", # This is always drive#permission.
+      "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
       "name": "A String", # The name for this permission.
-      "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+      "kind": "drive#permission", # This is always drive#permission.
+      "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
       "id": "A String", # The ID of the permission.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
+      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+      "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
           # - reader
           # - writer
-      "photoLink": "A String", # A link to the profile photo, if available.
       "type": "A String", # The account type. Allowed values are:
           # - user
           # - group
@@ -1431,7 +1611,9 @@
       ],
       "selfLink": "A String", # A link back to this permission.
     },
+    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
     "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
+    "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
     "selfLink": "A String", # A link back to this file.
     "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
   }</pre>
@@ -1449,6 +1631,8 @@
 
     { # The metadata for a file.
     "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
+    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+    "appDataContents": True or False, # Whether this file is in the appdata folder.
     "thumbnailLink": "A String", # A link to the file's thumbnail.
     "labels": { # A group of labels for the file.
       "restricted": True or False, # Whether viewers are prevented from downloading this file.
@@ -1461,7 +1645,6 @@
       "text": "A String", # The text to be indexed for this file.
     },
     "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-    "etag": "A String", # ETag of the file.
     "lastModifyingUserName": "A String", # Name of the last user to modify this file.
     "writersCanShare": True or False, # Whether writers can share the document with other users.
     "owners": [ # The owner(s) of this file.
@@ -1485,13 +1668,13 @@
       "displayName": "A String", # A plain text displayable name for this user.
       "permissionId": "A String", # The user's ID as visible in the permissions collection.
     },
-    "title": "A String", # The title of this file.
+    "copyable": True or False, # Whether the file can be copied by the current user.
     "ownerNames": [ # Name(s) of the owner(s) of this file.
       "A String",
     ],
     "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
     "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+    "etag": "A String", # ETag of the file.
     "parents": [ # Collection of parent folders which contain this file.
         # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
       { # A reference to a file's parent.
@@ -1510,16 +1693,9 @@
       "mimeType": "A String", # The MIME type of the thumbnail.
       "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
     },
-    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-    "description": "A String", # A short description of the file.
-    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-    "editable": True or False, # Whether the file can be edited by the current user.
-    "kind": "drive#file", # The type of file. This is always drive#file.
-    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-    "iconLink": "A String", # A link to the file's icon.
+    "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
+      "a_key": "A String",
+    },
     "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
       "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
       "exposureTime": 3.14, # The length of the exposure, in seconds.
@@ -1547,23 +1723,46 @@
       "whiteBalance": "A String", # The white balance mode used to create the photo.
       "cameraModel": "A String", # The model of the camera used to create the photo.
     },
+    "description": "A String", # A short description of the file.
+    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
+    "editable": True or False, # Whether the file can be edited by the current user.
+    "kind": "drive#file", # The type of file. This is always drive#file.
+    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
+    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
+    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
+    "properties": [ # The list of properties.
+      { # A key-value pair that is either public or private to an application.
+        "kind": "drive#property", # This is always drive#property.
+        "value": "A String", # The value of this property.
+        "etag": "A String", # ETag of the property.
+        "visibility": "A String", # The visibility of this property.
+        "key": "A String", # The key of this property.
+        "selfLink": "A String", # The link back to this property.
+      },
+    ],
+    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
+    "iconLink": "A String", # A link to the file's icon.
+    "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
     "embedLink": "A String", # A link for embedding the file.
     "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
+    "title": "A String", # The title of this file.
     "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
     "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
     "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
       "withLink": True or False, # Whether the link is required for this permission.
-      "kind": "drive#permission", # This is always drive#permission.
+      "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
       "name": "A String", # The name for this permission.
-      "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+      "kind": "drive#permission", # This is always drive#permission.
+      "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
       "id": "A String", # The ID of the permission.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
+      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+      "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
           # - reader
           # - writer
-      "photoLink": "A String", # A link to the profile photo, if available.
       "type": "A String", # The account type. Allowed values are:
           # - user
           # - group
@@ -1574,7 +1773,9 @@
       ],
       "selfLink": "A String", # A link back to this permission.
     },
+    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
     "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
+    "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
     "selfLink": "A String", # A link back to this file.
     "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
   }</pre>
@@ -1592,6 +1793,8 @@
 
     { # The metadata for a file.
     "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
+    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+    "appDataContents": True or False, # Whether this file is in the appdata folder.
     "thumbnailLink": "A String", # A link to the file's thumbnail.
     "labels": { # A group of labels for the file.
       "restricted": True or False, # Whether viewers are prevented from downloading this file.
@@ -1604,7 +1807,6 @@
       "text": "A String", # The text to be indexed for this file.
     },
     "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-    "etag": "A String", # ETag of the file.
     "lastModifyingUserName": "A String", # Name of the last user to modify this file.
     "writersCanShare": True or False, # Whether writers can share the document with other users.
     "owners": [ # The owner(s) of this file.
@@ -1628,13 +1830,13 @@
       "displayName": "A String", # A plain text displayable name for this user.
       "permissionId": "A String", # The user's ID as visible in the permissions collection.
     },
-    "title": "A String", # The title of this file.
+    "copyable": True or False, # Whether the file can be copied by the current user.
     "ownerNames": [ # Name(s) of the owner(s) of this file.
       "A String",
     ],
     "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
     "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+    "etag": "A String", # ETag of the file.
     "parents": [ # Collection of parent folders which contain this file.
         # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
       { # A reference to a file's parent.
@@ -1653,16 +1855,9 @@
       "mimeType": "A String", # The MIME type of the thumbnail.
       "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
     },
-    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-    "description": "A String", # A short description of the file.
-    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-    "editable": True or False, # Whether the file can be edited by the current user.
-    "kind": "drive#file", # The type of file. This is always drive#file.
-    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-    "iconLink": "A String", # A link to the file's icon.
+    "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
+      "a_key": "A String",
+    },
     "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
       "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
       "exposureTime": 3.14, # The length of the exposure, in seconds.
@@ -1690,23 +1885,46 @@
       "whiteBalance": "A String", # The white balance mode used to create the photo.
       "cameraModel": "A String", # The model of the camera used to create the photo.
     },
+    "description": "A String", # A short description of the file.
+    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
+    "editable": True or False, # Whether the file can be edited by the current user.
+    "kind": "drive#file", # The type of file. This is always drive#file.
+    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
+    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
+    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
+    "properties": [ # The list of properties.
+      { # A key-value pair that is either public or private to an application.
+        "kind": "drive#property", # This is always drive#property.
+        "value": "A String", # The value of this property.
+        "etag": "A String", # ETag of the property.
+        "visibility": "A String", # The visibility of this property.
+        "key": "A String", # The key of this property.
+        "selfLink": "A String", # The link back to this property.
+      },
+    ],
+    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
+    "iconLink": "A String", # A link to the file's icon.
+    "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
     "embedLink": "A String", # A link for embedding the file.
     "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
+    "title": "A String", # The title of this file.
     "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
     "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
     "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
       "withLink": True or False, # Whether the link is required for this permission.
-      "kind": "drive#permission", # This is always drive#permission.
+      "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
       "name": "A String", # The name for this permission.
-      "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+      "kind": "drive#permission", # This is always drive#permission.
+      "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
       "id": "A String", # The ID of the permission.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
+      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+      "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
           # - reader
           # - writer
-      "photoLink": "A String", # A link to the profile photo, if available.
       "type": "A String", # The account type. Allowed values are:
           # - user
           # - group
@@ -1717,7 +1935,9 @@
       ],
       "selfLink": "A String", # A link back to this permission.
     },
+    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
     "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
+    "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
     "selfLink": "A String", # A link back to this file.
     "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
   }</pre>
@@ -1734,6 +1954,8 @@
 
 { # The metadata for a file.
   "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
+  "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+  "appDataContents": True or False, # Whether this file is in the appdata folder.
   "thumbnailLink": "A String", # A link to the file's thumbnail.
   "labels": { # A group of labels for the file.
     "restricted": True or False, # Whether viewers are prevented from downloading this file.
@@ -1746,7 +1968,6 @@
     "text": "A String", # The text to be indexed for this file.
   },
   "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-  "etag": "A String", # ETag of the file.
   "lastModifyingUserName": "A String", # Name of the last user to modify this file.
   "writersCanShare": True or False, # Whether writers can share the document with other users.
   "owners": [ # The owner(s) of this file.
@@ -1770,13 +1991,13 @@
     "displayName": "A String", # A plain text displayable name for this user.
     "permissionId": "A String", # The user's ID as visible in the permissions collection.
   },
-  "title": "A String", # The title of this file.
+  "copyable": True or False, # Whether the file can be copied by the current user.
   "ownerNames": [ # Name(s) of the owner(s) of this file.
     "A String",
   ],
   "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
   "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-  "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+  "etag": "A String", # ETag of the file.
   "parents": [ # Collection of parent folders which contain this file.
       # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
     { # A reference to a file's parent.
@@ -1795,16 +2016,9 @@
     "mimeType": "A String", # The MIME type of the thumbnail.
     "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
   },
-  "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-  "description": "A String", # A short description of the file.
-  "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-  "editable": True or False, # Whether the file can be edited by the current user.
-  "kind": "drive#file", # The type of file. This is always drive#file.
-  "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-  "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-  "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-  "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-  "iconLink": "A String", # A link to the file's icon.
+  "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
+    "a_key": "A String",
+  },
   "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
     "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
     "exposureTime": 3.14, # The length of the exposure, in seconds.
@@ -1832,23 +2046,46 @@
     "whiteBalance": "A String", # The white balance mode used to create the photo.
     "cameraModel": "A String", # The model of the camera used to create the photo.
   },
+  "description": "A String", # A short description of the file.
+  "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
+  "editable": True or False, # Whether the file can be edited by the current user.
+  "kind": "drive#file", # The type of file. This is always drive#file.
+  "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
+  "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
+  "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
+  "properties": [ # The list of properties.
+    { # A key-value pair that is either public or private to an application.
+      "kind": "drive#property", # This is always drive#property.
+      "value": "A String", # The value of this property.
+      "etag": "A String", # ETag of the property.
+      "visibility": "A String", # The visibility of this property.
+      "key": "A String", # The key of this property.
+      "selfLink": "A String", # The link back to this property.
+    },
+  ],
+  "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
+  "iconLink": "A String", # A link to the file's icon.
+  "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
   "embedLink": "A String", # A link for embedding the file.
   "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
+  "title": "A String", # The title of this file.
   "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
   "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
   "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
     "withLink": True or False, # Whether the link is required for this permission.
-    "kind": "drive#permission", # This is always drive#permission.
+    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
     "name": "A String", # The name for this permission.
-    "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+    "kind": "drive#permission", # This is always drive#permission.
+    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
     "id": "A String", # The ID of the permission.
     "authKey": "A String", # The authkey parameter required for this permission.
     "etag": "A String", # The ETag of the permission.
+    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+    "photoLink": "A String", # A link to the profile photo, if available.
     "role": "A String", # The primary role for this user. Allowed values are:
         # - owner
         # - reader
         # - writer
-    "photoLink": "A String", # A link to the profile photo, if available.
     "type": "A String", # The account type. Allowed values are:
         # - user
         # - group
@@ -1859,7 +2096,9 @@
     ],
     "selfLink": "A String", # A link back to this permission.
   },
+  "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
   "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
+  "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
   "selfLink": "A String", # A link back to this file.
   "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
 }
@@ -1881,6 +2120,8 @@
 
     { # The metadata for a file.
     "mimeType": "A String", # The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type.
+    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+    "appDataContents": True or False, # Whether this file is in the appdata folder.
     "thumbnailLink": "A String", # A link to the file's thumbnail.
     "labels": { # A group of labels for the file.
       "restricted": True or False, # Whether viewers are prevented from downloading this file.
@@ -1893,7 +2134,6 @@
       "text": "A String", # The text to be indexed for this file.
     },
     "explicitlyTrashed": True or False, # Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed.
-    "etag": "A String", # ETag of the file.
     "lastModifyingUserName": "A String", # Name of the last user to modify this file.
     "writersCanShare": True or False, # Whether writers can share the document with other users.
     "owners": [ # The owner(s) of this file.
@@ -1917,13 +2157,13 @@
       "displayName": "A String", # A plain text displayable name for this user.
       "permissionId": "A String", # The user's ID as visible in the permissions collection.
     },
-    "title": "A String", # The title of this file.
+    "copyable": True or False, # Whether the file can be copied by the current user.
     "ownerNames": [ # Name(s) of the owner(s) of this file.
       "A String",
     ],
     "sharedWithMeDate": "A String", # Time at which this file was shared with the user (formatted RFC 3339 timestamp).
     "webViewLink": "A String", # A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting.
-    "lastViewedByMeDate": "A String", # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
+    "etag": "A String", # ETag of the file.
     "parents": [ # Collection of parent folders which contain this file.
         # Setting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.
       { # A reference to a file's parent.
@@ -1942,16 +2182,9 @@
       "mimeType": "A String", # The MIME type of the thumbnail.
       "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
     },
-    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
-    "description": "A String", # A short description of the file.
-    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
-    "editable": True or False, # Whether the file can be edited by the current user.
-    "kind": "drive#file", # The type of file. This is always drive#file.
-    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
-    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
-    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
-    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
-    "iconLink": "A String", # A link to the file's icon.
+    "openWithLinks": { # A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.
+      "a_key": "A String",
+    },
     "imageMediaMetadata": { # Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.
       "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
       "exposureTime": 3.14, # The length of the exposure, in seconds.
@@ -1979,23 +2212,46 @@
       "whiteBalance": "A String", # The white balance mode used to create the photo.
       "cameraModel": "A String", # The model of the camera used to create the photo.
     },
+    "description": "A String", # A short description of the file.
+    "webContentLink": "A String", # A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials.
+    "editable": True or False, # Whether the file can be edited by the current user.
+    "kind": "drive#file", # The type of file. This is always drive#file.
+    "quotaBytesUsed": "A String", # The number of quota bytes used by this file.
+    "fileSize": "A String", # The size of the file in bytes. This is only populated for files with content stored in Drive.
+    "createdDate": "A String", # Create time for this file (formatted ISO8601 timestamp).
+    "properties": [ # The list of properties.
+      { # A key-value pair that is either public or private to an application.
+        "kind": "drive#property", # This is always drive#property.
+        "value": "A String", # The value of this property.
+        "etag": "A String", # ETag of the property.
+        "visibility": "A String", # The visibility of this property.
+        "key": "A String", # The key of this property.
+        "selfLink": "A String", # The link back to this property.
+      },
+    ],
+    "md5Checksum": "A String", # An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive.
+    "iconLink": "A String", # A link to the file's icon.
+    "defaultOpenWithLink": "A String", # A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used.
     "embedLink": "A String", # A link for embedding the file.
     "alternateLink": "A String", # A link for opening the file in using a relevant Google editor or viewer.
+    "title": "A String", # The title of this file.
     "modifiedByMeDate": "A String", # Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.
     "downloadUrl": "A String", # Short lived download URL for the file. This is only populated for files with content stored in Drive.
     "userPermission": { # A permission for a file. # The permissions for the authenticated user on this file.
       "withLink": True or False, # Whether the link is required for this permission.
-      "kind": "drive#permission", # This is always drive#permission.
+      "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
       "name": "A String", # The name for this permission.
-      "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+      "kind": "drive#permission", # This is always drive#permission.
+      "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
       "id": "A String", # The ID of the permission.
       "authKey": "A String", # The authkey parameter required for this permission.
       "etag": "A String", # The ETag of the permission.
+      "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+      "photoLink": "A String", # A link to the profile photo, if available.
       "role": "A String", # The primary role for this user. Allowed values are:
           # - owner
           # - reader
           # - writer
-      "photoLink": "A String", # A link to the profile photo, if available.
       "type": "A String", # The account type. Allowed values are:
           # - user
           # - group
@@ -2006,10 +2262,59 @@
       ],
       "selfLink": "A String", # A link back to this permission.
     },
+    "originalFilename": "A String", # The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive.
     "fileExtension": "A String", # The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive.
+    "headRevisionId": "A String", # The ID of the file's head revision. This will only be populated for files with content stored in Drive.
     "selfLink": "A String", # A link back to this file.
     "modifiedDate": "A String", # Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.
   }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="watch">watch(fileId, body, projection=None, updateViewedDate=None)</code>
+  <pre>Subscribe to changes on a file
+
+Args:
+  fileId: string, The ID for the file in question. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "resourceUri": "A String", # The canonicalized ID of the watched resource.
+    "kind": "api#channel", # A channel watching an API resource
+    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
+    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
+    "params": { # Additional parameters controlling delivery channel behavior
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # The expiration instant for this channel if it is defined.
+    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
+    "type": "A String", # The type of delivery mechanism used by this channel
+    "id": "A String", # A UUID for the channel
+  }
+
+  projection: string, This parameter is deprecated and has no function.
+    Allowed values
+      BASIC - Deprecated
+      FULL - Deprecated
+  updateViewedDate: boolean, Whether to update the view date after successfully retrieving the file.
+
+Returns:
+  An object of the form:
+
+    {
+      "resourceUri": "A String", # The canonicalized ID of the watched resource.
+      "kind": "api#channel", # A channel watching an API resource
+      "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
+      "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
+      "params": { # Additional parameters controlling delivery channel behavior
+        "a_key": "A String", # Declares a new parameter by name.
+      },
+      "expiration": "A String", # The expiration instant for this channel if it is defined.
+      "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
+      "type": "A String", # The type of delivery mechanism used by this channel
+      "id": "A String", # A UUID for the channel
+    }</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.html b/docs/dyn/drive_v2.html
index 29e6b8e..471c46c 100644
--- a/docs/dyn/drive_v2.html
+++ b/docs/dyn/drive_v2.html
@@ -90,6 +90,11 @@
 <p class="firstline">Returns the changes Resource.</p>
 
 <p class="toc_element">
+  <code><a href="drive_v2.channels.html">channels()</a></code>
+</p>
+<p class="firstline">Returns the channels Resource.</p>
+
+<p class="toc_element">
   <code><a href="drive_v2.children.html">children()</a></code>
 </p>
 <p class="firstline">Returns the children Resource.</p>
@@ -115,6 +120,16 @@
 <p class="firstline">Returns the permissions Resource.</p>
 
 <p class="toc_element">
+  <code><a href="drive_v2.properties.html">properties()</a></code>
+</p>
+<p class="firstline">Returns the properties Resource.</p>
+
+<p class="toc_element">
+  <code><a href="drive_v2.realtime.html">realtime()</a></code>
+</p>
+<p class="firstline">Returns the realtime Resource.</p>
+
+<p class="toc_element">
   <code><a href="drive_v2.replies.html">replies()</a></code>
 </p>
 <p class="firstline">Returns the replies Resource.</p>
diff --git a/docs/dyn/drive_v2.permissions.html b/docs/dyn/drive_v2.permissions.html
index 4f3048a..dddaf83 100644
--- a/docs/dyn/drive_v2.permissions.html
+++ b/docs/dyn/drive_v2.permissions.html
@@ -87,10 +87,10 @@
   <code><a href="#list">list(fileId)</a></code></p>
 <p class="firstline">Lists a file's permissions.</p>
 <p class="toc_element">
-  <code><a href="#patch">patch(fileId, permissionId, body)</a></code></p>
+  <code><a href="#patch">patch(fileId, permissionId, body, transferOwnership=None)</a></code></p>
 <p class="firstline">Updates a permission. This method supports patch semantics.</p>
 <p class="toc_element">
-  <code><a href="#update">update(fileId, permissionId, body)</a></code></p>
+  <code><a href="#update">update(fileId, permissionId, body, transferOwnership=None)</a></code></p>
 <p class="firstline">Updates a permission.</p>
 <h3>Method Details</h3>
 <div class="method">
@@ -116,17 +116,19 @@
 
     { # A permission for a file.
     "withLink": True or False, # Whether the link is required for this permission.
-    "kind": "drive#permission", # This is always drive#permission.
+    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
     "name": "A String", # The name for this permission.
-    "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+    "kind": "drive#permission", # This is always drive#permission.
+    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
     "id": "A String", # The ID of the permission.
     "authKey": "A String", # The authkey parameter required for this permission.
     "etag": "A String", # The ETag of the permission.
+    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+    "photoLink": "A String", # A link to the profile photo, if available.
     "role": "A String", # The primary role for this user. Allowed values are:
         # - owner
         # - reader
         # - writer
-    "photoLink": "A String", # A link to the profile photo, if available.
     "type": "A String", # The account type. Allowed values are:
         # - user
         # - group
@@ -150,17 +152,19 @@
 
 { # A permission for a file.
   "withLink": True or False, # Whether the link is required for this permission.
-  "kind": "drive#permission", # This is always drive#permission.
+  "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
   "name": "A String", # The name for this permission.
-  "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+  "kind": "drive#permission", # This is always drive#permission.
+  "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
   "id": "A String", # The ID of the permission.
   "authKey": "A String", # The authkey parameter required for this permission.
   "etag": "A String", # The ETag of the permission.
+  "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+  "photoLink": "A String", # A link to the profile photo, if available.
   "role": "A String", # The primary role for this user. Allowed values are:
       # - owner
       # - reader
       # - writer
-  "photoLink": "A String", # A link to the profile photo, if available.
   "type": "A String", # The account type. Allowed values are:
       # - user
       # - group
@@ -180,17 +184,19 @@
 
     { # A permission for a file.
     "withLink": True or False, # Whether the link is required for this permission.
-    "kind": "drive#permission", # This is always drive#permission.
+    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
     "name": "A String", # The name for this permission.
-    "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+    "kind": "drive#permission", # This is always drive#permission.
+    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
     "id": "A String", # The ID of the permission.
     "authKey": "A String", # The authkey parameter required for this permission.
     "etag": "A String", # The ETag of the permission.
+    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+    "photoLink": "A String", # A link to the profile photo, if available.
     "role": "A String", # The primary role for this user. Allowed values are:
         # - owner
         # - reader
         # - writer
-    "photoLink": "A String", # A link to the profile photo, if available.
     "type": "A String", # The account type. Allowed values are:
         # - user
         # - group
@@ -217,17 +223,19 @@
     "items": [ # The actual list of permissions.
       { # A permission for a file.
         "withLink": True or False, # Whether the link is required for this permission.
-        "kind": "drive#permission", # This is always drive#permission.
+        "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
         "name": "A String", # The name for this permission.
-        "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+        "kind": "drive#permission", # This is always drive#permission.
+        "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
         "id": "A String", # The ID of the permission.
         "authKey": "A String", # The authkey parameter required for this permission.
         "etag": "A String", # The ETag of the permission.
+        "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+        "photoLink": "A String", # A link to the profile photo, if available.
         "role": "A String", # The primary role for this user. Allowed values are:
             # - owner
             # - reader
             # - writer
-        "photoLink": "A String", # A link to the profile photo, if available.
         "type": "A String", # The account type. Allowed values are:
             # - user
             # - group
@@ -246,7 +254,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="patch">patch(fileId, permissionId, body)</code>
+    <code class="details" id="patch">patch(fileId, permissionId, body, transferOwnership=None)</code>
   <pre>Updates a permission. This method supports patch semantics.
 
 Args:
@@ -257,17 +265,19 @@
 
 { # A permission for a file.
   "withLink": True or False, # Whether the link is required for this permission.
-  "kind": "drive#permission", # This is always drive#permission.
+  "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
   "name": "A String", # The name for this permission.
-  "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+  "kind": "drive#permission", # This is always drive#permission.
+  "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
   "id": "A String", # The ID of the permission.
   "authKey": "A String", # The authkey parameter required for this permission.
   "etag": "A String", # The ETag of the permission.
+  "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+  "photoLink": "A String", # A link to the profile photo, if available.
   "role": "A String", # The primary role for this user. Allowed values are:
       # - owner
       # - reader
       # - writer
-  "photoLink": "A String", # A link to the profile photo, if available.
   "type": "A String", # The account type. Allowed values are:
       # - user
       # - group
@@ -279,23 +289,26 @@
   "selfLink": "A String", # A link back to this permission.
 }
 
+  transferOwnership: boolean, Whether changing a role to 'owner' should also downgrade the current owners to writers.
 
 Returns:
   An object of the form:
 
     { # A permission for a file.
     "withLink": True or False, # Whether the link is required for this permission.
-    "kind": "drive#permission", # This is always drive#permission.
+    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
     "name": "A String", # The name for this permission.
-    "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+    "kind": "drive#permission", # This is always drive#permission.
+    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
     "id": "A String", # The ID of the permission.
     "authKey": "A String", # The authkey parameter required for this permission.
     "etag": "A String", # The ETag of the permission.
+    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+    "photoLink": "A String", # A link to the profile photo, if available.
     "role": "A String", # The primary role for this user. Allowed values are:
         # - owner
         # - reader
         # - writer
-    "photoLink": "A String", # A link to the profile photo, if available.
     "type": "A String", # The account type. Allowed values are:
         # - user
         # - group
@@ -309,7 +322,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="update">update(fileId, permissionId, body)</code>
+    <code class="details" id="update">update(fileId, permissionId, body, transferOwnership=None)</code>
   <pre>Updates a permission.
 
 Args:
@@ -320,17 +333,19 @@
 
 { # A permission for a file.
   "withLink": True or False, # Whether the link is required for this permission.
-  "kind": "drive#permission", # This is always drive#permission.
+  "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
   "name": "A String", # The name for this permission.
-  "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+  "kind": "drive#permission", # This is always drive#permission.
+  "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
   "id": "A String", # The ID of the permission.
   "authKey": "A String", # The authkey parameter required for this permission.
   "etag": "A String", # The ETag of the permission.
+  "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+  "photoLink": "A String", # A link to the profile photo, if available.
   "role": "A String", # The primary role for this user. Allowed values are:
       # - owner
       # - reader
       # - writer
-  "photoLink": "A String", # A link to the profile photo, if available.
   "type": "A String", # The account type. Allowed values are:
       # - user
       # - group
@@ -342,23 +357,26 @@
   "selfLink": "A String", # A link back to this permission.
 }
 
+  transferOwnership: boolean, Whether changing a role to 'owner' should also downgrade the current owners to writers.
 
 Returns:
   An object of the form:
 
     { # A permission for a file.
     "withLink": True or False, # Whether the link is required for this permission.
-    "kind": "drive#permission", # This is always drive#permission.
+    "domain": "A String", # The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is "user", "group" or "domain".
     "name": "A String", # The name for this permission.
-    "value": "A String", # The email address or domain name for the entity. This is not populated in responses.
+    "kind": "drive#permission", # This is always drive#permission.
+    "value": "A String", # The email address or domain name for the entity. This is used during inserts and is not populated in responses.
     "id": "A String", # The ID of the permission.
     "authKey": "A String", # The authkey parameter required for this permission.
     "etag": "A String", # The ETag of the permission.
+    "emailAddress": "A String", # The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is "user" and the given user's Google+ profile privacy settings allow exposing their email address.
+    "photoLink": "A String", # A link to the profile photo, if available.
     "role": "A String", # The primary role for this user. Allowed values are:
         # - owner
         # - reader
         # - writer
-    "photoLink": "A String", # A link to the profile photo, if available.
     "type": "A String", # The account type. Allowed values are:
         # - user
         # - group
diff --git a/docs/dyn/drive_v2.properties.html b/docs/dyn/drive_v2.properties.html
new file mode 100644
index 0000000..a5f7e24
--- /dev/null
+++ b/docs/dyn/drive_v2.properties.html
@@ -0,0 +1,256 @@
+<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="drive_v2.html">Drive API</a> . <a href="drive_v2.properties.html">properties</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(fileId, propertyKey, visibility=None)</a></code></p>
+<p class="firstline">Deletes a property.</p>
+<p class="toc_element">
+  <code><a href="#get">get(fileId, propertyKey, visibility=None)</a></code></p>
+<p class="firstline">Gets a property by its key.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(fileId, body)</a></code></p>
+<p class="firstline">Adds a property to a file.</p>
+<p class="toc_element">
+  <code><a href="#list">list(fileId)</a></code></p>
+<p class="firstline">Lists a file's properties.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(fileId, propertyKey, body, visibility=None)</a></code></p>
+<p class="firstline">Updates a property. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(fileId, propertyKey, body, visibility=None)</a></code></p>
+<p class="firstline">Updates a property.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(fileId, propertyKey, visibility=None)</code>
+  <pre>Deletes a property.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  propertyKey: string, The key of the property. (required)
+  visibility: string, The visibility of the property.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(fileId, propertyKey, visibility=None)</code>
+  <pre>Gets a property by its key.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  propertyKey: string, The key of the property. (required)
+  visibility: string, The visibility of the property.
+
+Returns:
+  An object of the form:
+
+    { # A key-value pair that is either public or private to an application.
+    "kind": "drive#property", # This is always drive#property.
+    "value": "A String", # The value of this property.
+    "etag": "A String", # ETag of the property.
+    "visibility": "A String", # The visibility of this property.
+    "key": "A String", # The key of this property.
+    "selfLink": "A String", # The link back to this property.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(fileId, body)</code>
+  <pre>Adds a property to a file.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A key-value pair that is either public or private to an application.
+  "kind": "drive#property", # This is always drive#property.
+  "value": "A String", # The value of this property.
+  "etag": "A String", # ETag of the property.
+  "visibility": "A String", # The visibility of this property.
+  "key": "A String", # The key of this property.
+  "selfLink": "A String", # The link back to this property.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # A key-value pair that is either public or private to an application.
+    "kind": "drive#property", # This is always drive#property.
+    "value": "A String", # The value of this property.
+    "etag": "A String", # ETag of the property.
+    "visibility": "A String", # The visibility of this property.
+    "key": "A String", # The key of this property.
+    "selfLink": "A String", # The link back to this property.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(fileId)</code>
+  <pre>Lists a file's properties.
+
+Args:
+  fileId: string, The ID of the file. (required)
+
+Returns:
+  An object of the form:
+
+    { # A collection of properties, key-value pairs that are either public or private to an application.
+    "items": [ # The list of properties.
+      { # A key-value pair that is either public or private to an application.
+        "kind": "drive#property", # This is always drive#property.
+        "value": "A String", # The value of this property.
+        "etag": "A String", # ETag of the property.
+        "visibility": "A String", # The visibility of this property.
+        "key": "A String", # The key of this property.
+        "selfLink": "A String", # The link back to this property.
+      },
+    ],
+    "kind": "drive#propertyList", # This is always drive#propertyList.
+    "etag": "A String", # The ETag of the list.
+    "selfLink": "A String", # The link back to this list.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(fileId, propertyKey, body, visibility=None)</code>
+  <pre>Updates a property. This method supports patch semantics.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  propertyKey: string, The key of the property. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A key-value pair that is either public or private to an application.
+  "kind": "drive#property", # This is always drive#property.
+  "value": "A String", # The value of this property.
+  "etag": "A String", # ETag of the property.
+  "visibility": "A String", # The visibility of this property.
+  "key": "A String", # The key of this property.
+  "selfLink": "A String", # The link back to this property.
+}
+
+  visibility: string, The visibility of the property.
+
+Returns:
+  An object of the form:
+
+    { # A key-value pair that is either public or private to an application.
+    "kind": "drive#property", # This is always drive#property.
+    "value": "A String", # The value of this property.
+    "etag": "A String", # ETag of the property.
+    "visibility": "A String", # The visibility of this property.
+    "key": "A String", # The key of this property.
+    "selfLink": "A String", # The link back to this property.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(fileId, propertyKey, body, visibility=None)</code>
+  <pre>Updates a property.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  propertyKey: string, The key of the property. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A key-value pair that is either public or private to an application.
+  "kind": "drive#property", # This is always drive#property.
+  "value": "A String", # The value of this property.
+  "etag": "A String", # ETag of the property.
+  "visibility": "A String", # The visibility of this property.
+  "key": "A String", # The key of this property.
+  "selfLink": "A String", # The link back to this property.
+}
+
+  visibility: string, The visibility of the property.
+
+Returns:
+  An object of the form:
+
+    { # A key-value pair that is either public or private to an application.
+    "kind": "drive#property", # This is always drive#property.
+    "value": "A String", # The value of this property.
+    "etag": "A String", # ETag of the property.
+    "visibility": "A String", # The visibility of this property.
+    "key": "A String", # The key of this property.
+    "selfLink": "A String", # The link back to this property.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.realtime.html b/docs/dyn/drive_v2.realtime.html
new file mode 100644
index 0000000..cea77ee
--- /dev/null
+++ b/docs/dyn/drive_v2.realtime.html
@@ -0,0 +1,102 @@
+<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="drive_v2.html">Drive API</a> . <a href="drive_v2.realtime.html">realtime</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(fileId)</a></code></p>
+<p class="firstline">Exports the contents of the Realtime API data model associated with this file as JSON.</p>
+<p class="toc_element">
+  <code><a href="#get_media">get_media(fileId)</a></code></p>
+<p class="firstline">Exports the contents of the Realtime API data model associated with this file as JSON.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(fileId)</code>
+  <pre>Exports the contents of the Realtime API data model associated with this file as JSON.
+
+Args:
+  fileId: string, The ID of the file that the Realtime API data model is associated with. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get_media">get_media(fileId)</code>
+  <pre>Exports the contents of the Realtime API data model associated with this file as JSON.
+
+Args:
+  fileId: string, The ID of the file that the Realtime API data model is associated with. (required)
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.replies.html b/docs/dyn/drive_v2.replies.html
index 1111a4a..e393640 100644
--- a/docs/dyn/drive_v2.replies.html
+++ b/docs/dyn/drive_v2.replies.html
@@ -242,6 +242,8 @@
       },
     ],
     "kind": "drive#commentReplyList", # This is always drive#commentReplyList.
+    "selfLink": "A String", # A link back to this list.
+    "nextLink": "A String", # A link to the next page of replies.
   }</pre>
 </div>
 
diff --git a/docs/dyn/fusiontables_v1.table.html b/docs/dyn/fusiontables_v1.table.html
index 88bd29d..0157063 100644
--- a/docs/dyn/fusiontables_v1.table.html
+++ b/docs/dyn/fusiontables_v1.table.html
@@ -87,6 +87,9 @@
   <code><a href="#importRows">importRows(tableId, media_body=None, startLine=None, isStrict=None, encoding=None, delimiter=None, endLine=None)</a></code></p>
 <p class="firstline">Import more rows into a table.</p>
 <p class="toc_element">
+  <code><a href="#importTable">importTable(name, media_body=None, encoding=None, delimiter=None)</a></code></p>
+<p class="firstline">Import a new table.</p>
+<p class="toc_element">
   <code><a href="#insert">insert(body)</a></code></p>
 <p class="firstline">Creates a new table.</p>
 <p class="toc_element">
@@ -209,6 +212,46 @@
 </div>
 
 <div class="method">
+    <code class="details" id="importTable">importTable(name, media_body=None, encoding=None, delimiter=None)</code>
+  <pre>Import a new table.
+
+Args:
+  name: string, The name to be assigned to the new table. (required)
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+  encoding: string, The encoding of the content. Default is UTF-8. Use 'auto-detect' if you are unsure of the encoding.
+  delimiter: string, The delimiter used to separate cell values. This can only consist of a single character. Default is ','.
+
+Returns:
+  An object of the form:
+
+    { # Represents a table. Specifies the name, whether it is exportable, description, attribution, and attribution link.
+      "kind": "fusiontables#table", # Type name: a template for an individual table.
+      "attribution": "A String", # Optional attribution assigned to the table.
+      "description": "A String", # Optional description assigned to the table.
+      "isExportable": True or False, # Variable for whether table is exportable.
+      "baseTableIds": [ # Optional base table identifier if this table is a view or merged table.
+        "A String",
+      ],
+      "attributionLink": "A String", # Optional link for attribution.
+      "sql": "A String", # Optional sql that encodes the table definition for derived tables.
+      "tableId": "A String", # Encrypted unique alphanumeric identifier for the table.
+      "columns": [ # Columns in the table.
+        { # Specifies the id, name and type of a column in a table.
+            "kind": "fusiontables#column", # Type name: a template for an individual column.
+            "type": "A String", # Required type of the column.
+            "columnId": 42, # Identifier for the column.
+            "name": "A String", # Required name of the column.
+            "baseColumn": { # Optional identifier of the base column. If present, this column is derived from the specified base column.
+              "tableIndex": 42, # Offset to the entry in the list of base tables in the table definition.
+              "columnId": 42, # The id of the column in the base table from which this column is derived.
+            },
+          },
+      ],
+      "name": "A String", # Name assigned to a table.
+    }</pre>
+</div>
+
+<div class="method">
     <code class="details" id="insert">insert(body)</code>
   <pre>Creates a new table.
 
diff --git a/docs/dyn/gamesManagement_v1management.achievements.html b/docs/dyn/gamesManagement_v1management.achievements.html
new file mode 100644
index 0000000..37a46c3
--- /dev/null
+++ b/docs/dyn/gamesManagement_v1management.achievements.html
@@ -0,0 +1,132 @@
+<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="gamesManagement_v1management.html">Google Play Game Services Management API</a> . <a href="gamesManagement_v1management.achievements.html">achievements</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#reset">reset(achievementId)</a></code></p>
+<p class="firstline">Resets the achievement with the given ID. This method is only accessible to whitelisted tester accounts for your application.</p>
+<p class="toc_element">
+  <code><a href="#resetAll">resetAll()</a></code></p>
+<p class="firstline">Resets all achievements for the currently authenticated player for your application. This method is only accessible to whitelisted tester accounts for your application.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="reset">reset(achievementId)</code>
+  <pre>Resets the achievement with the given ID. This method is only accessible to whitelisted tester accounts for your application.
+
+Args:
+  achievementId: string, The ID of the achievement used by this method. (required)
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for an achievement reset response.
+    "definitionId": "A String", # The ID of an achievement for which player state has been updated.
+    "kind": "gamesManagement#achievementResetResponse", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#achievementResetResponse.
+    "updateOccurred": True or False, # Flag to indicate if the requested update actually occurred.
+    "currentState": "A String", # The current state of the achievement. This is the same as the initial state of the achievement.
+        # Possible values are:
+        # - "HIDDEN"- Achievement is hidden.
+        # - "REVEALED" - Achievement is revealed.
+        # - "UNLOCKED" - Achievement is unlocked.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="resetAll">resetAll()</code>
+  <pre>Resets all achievements for the currently authenticated player for your application. This method is only accessible to whitelisted tester accounts for your application.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for achievement reset all response.
+    "kind": "gamesManagement#achievementResetAllResponse", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#achievementResetAllResponse.
+    "results": [ # The achievement reset results.
+      { # This is a JSON template for an achievement reset response.
+        "definitionId": "A String", # The ID of an achievement for which player state has been updated.
+        "kind": "gamesManagement#achievementResetResponse", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#achievementResetResponse.
+        "updateOccurred": True or False, # Flag to indicate if the requested update actually occurred.
+        "currentState": "A String", # The current state of the achievement. This is the same as the initial state of the achievement.
+            # Possible values are:
+            # - "HIDDEN"- Achievement is hidden.
+            # - "REVEALED" - Achievement is revealed.
+            # - "UNLOCKED" - Achievement is unlocked.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesManagement_v1management.applications.html b/docs/dyn/gamesManagement_v1management.applications.html
new file mode 100644
index 0000000..e9f58bb
--- /dev/null
+++ b/docs/dyn/gamesManagement_v1management.applications.html
@@ -0,0 +1,128 @@
+<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="gamesManagement_v1management.html">Google Play Game Services Management API</a> . <a href="gamesManagement_v1management.applications.html">applications</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#listHidden">listHidden(applicationId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Get the list of players hidden from the given application. This method is only available to user accounts for your developer console.</p>
+<p class="toc_element">
+  <code><a href="#listHidden_next">listHidden_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="listHidden">listHidden(applicationId, pageToken=None, maxResults=None)</code>
+  <pre>Get the list of players hidden from the given application. This method is only available to user accounts for your developer console.
+
+Args:
+  applicationId: string, The application being requested. (required)
+  pageToken: string, The token returned by the previous request.
+  maxResults: integer, The maximum number of player resources to return in the response, used for paging. For any response, the actual number of player resources returned may be less than the specified maxResults.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a list of hidden players.
+    "nextPageToken": "A String", # The pagination token for the next page of results.
+    "items": [ # The players.
+      { # This is a JSON template for the HiddenPlayer resource.
+        "player": { # This is a JSON template for a Player resource. # The player information.
+          "playerId": "A String", # The ID of the player.
+          "kind": "gamesManagement#player", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+          "displayName": "A String", # The name to display for the player.
+        },
+        "kind": "gamesManagement#hiddenPlayer", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#hiddenPlayer.
+        "hiddenTimeMillis": "A String", # The time this player was hidden.
+      },
+    ],
+    "kind": "gamesManagement#hiddenPlayerList", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#hiddenPlayerList.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listHidden_next">listHidden_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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesManagement_v1management.html b/docs/dyn/gamesManagement_v1management.html
new file mode 100644
index 0000000..ffd5a85
--- /dev/null
+++ b/docs/dyn/gamesManagement_v1management.html
@@ -0,0 +1,102 @@
+<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="gamesManagement_v1management.html">Google Play Game Services Management API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="gamesManagement_v1management.achievements.html">achievements()</a></code>
+</p>
+<p class="firstline">Returns the achievements Resource.</p>
+
+<p class="toc_element">
+  <code><a href="gamesManagement_v1management.applications.html">applications()</a></code>
+</p>
+<p class="firstline">Returns the applications Resource.</p>
+
+<p class="toc_element">
+  <code><a href="gamesManagement_v1management.players.html">players()</a></code>
+</p>
+<p class="firstline">Returns the players Resource.</p>
+
+<p class="toc_element">
+  <code><a href="gamesManagement_v1management.rooms.html">rooms()</a></code>
+</p>
+<p class="firstline">Returns the rooms Resource.</p>
+
+<p class="toc_element">
+  <code><a href="gamesManagement_v1management.scores.html">scores()</a></code>
+</p>
+<p class="firstline">Returns the scores Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesManagement_v1management.players.html b/docs/dyn/gamesManagement_v1management.players.html
new file mode 100644
index 0000000..01976b6
--- /dev/null
+++ b/docs/dyn/gamesManagement_v1management.players.html
@@ -0,0 +1,104 @@
+<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="gamesManagement_v1management.html">Google Play Game Services Management API</a> . <a href="gamesManagement_v1management.players.html">players</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#hide">hide(applicationId, playerId)</a></code></p>
+<p class="firstline">Hide the given player's leaderboard scores from the given application. This method is only available to user accounts for your developer console.</p>
+<p class="toc_element">
+  <code><a href="#unhide">unhide(applicationId, playerId)</a></code></p>
+<p class="firstline">Unhide the given player's leaderboard scores from the given application. This method is only available to user accounts for your developer console.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="hide">hide(applicationId, playerId)</code>
+  <pre>Hide the given player's leaderboard scores from the given application. This method is only available to user accounts for your developer console.
+
+Args:
+  applicationId: string, The application being requested. (required)
+  playerId: string, A player ID. A value of me may be used in place of the authenticated player's ID. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="unhide">unhide(applicationId, playerId)</code>
+  <pre>Unhide the given player's leaderboard scores from the given application. This method is only available to user accounts for your developer console.
+
+Args:
+  applicationId: string, The application being requested. (required)
+  playerId: string, A player ID. A value of me may be used in place of the authenticated player's ID. (required)
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesManagement_v1management.rooms.html b/docs/dyn/gamesManagement_v1management.rooms.html
new file mode 100644
index 0000000..1670f3f
--- /dev/null
+++ b/docs/dyn/gamesManagement_v1management.rooms.html
@@ -0,0 +1,89 @@
+<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="gamesManagement_v1management.html">Google Play Game Services Management API</a> . <a href="gamesManagement_v1management.rooms.html">rooms</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#reset">reset()</a></code></p>
+<p class="firstline">Reset all rooms for the currently authenticated player for your application. This method is only accessible to whitelisted tester accounts for your application.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="reset">reset()</code>
+  <pre>Reset all rooms for the currently authenticated player for your application. This method is only accessible to whitelisted tester accounts for your application.
+
+Args:
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesManagement_v1management.scores.html b/docs/dyn/gamesManagement_v1management.scores.html
new file mode 100644
index 0000000..82272e4
--- /dev/null
+++ b/docs/dyn/gamesManagement_v1management.scores.html
@@ -0,0 +1,103 @@
+<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="gamesManagement_v1management.html">Google Play Game Services Management API</a> . <a href="gamesManagement_v1management.scores.html">scores</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#reset">reset(leaderboardId)</a></code></p>
+<p class="firstline">Reset scores for the specified leaderboard, resetting the leaderboard to empty. This method is only accessible to whitelisted tester accounts for your application.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="reset">reset(leaderboardId)</code>
+  <pre>Reset scores for the specified leaderboard, resetting the leaderboard to empty. This method is only accessible to whitelisted tester accounts for your application.
+
+Args:
+  leaderboardId: string, The ID of the leaderboard. (required)
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a list of reset leaderboard entry resources.
+    "kind": "gamesManagement#playerScoreResetResponse", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#playerScoreResetResponse.
+    "resetScoreTimeSpans": [ # The time spans of the updated score.
+        # Possible values are:
+        # - "ALL_TIME" - The score is an all-time score.
+        # - "WEEKLY" - The score is a weekly score.
+        # - "DAILY" - The score is a daily score.
+      "A String",
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/games_v1.achievementDefinitions.html b/docs/dyn/games_v1.achievementDefinitions.html
new file mode 100644
index 0000000..141de39
--- /dev/null
+++ b/docs/dyn/games_v1.achievementDefinitions.html
@@ -0,0 +1,139 @@
+<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="games_v1.html">Google Play Game Services API</a> . <a href="games_v1.achievementDefinitions.html">achievementDefinitions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(pageToken=None, language=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists all the achievement definitions for your application.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(pageToken=None, language=None, maxResults=None)</code>
+  <pre>Lists all the achievement definitions for your application.
+
+Args:
+  pageToken: string, The token returned by the previous request.
+  language: string, The preferred language to use for strings returned by this method.
+  maxResults: integer, The maximum number of achievement resources to return in the response, used for paging. For any response, the actual number of achievement resources returned may be less than the specified maxResults.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a list of achievement definition objects.
+    "nextPageToken": "A String", # Token corresponding to the next page of results.
+    "items": [ # The achievement definitions.
+      { # This is a JSON template for an achievement definition object.
+        "totalSteps": 42, # The total steps for an incremental achievement.
+        "achievementType": "A String", # The type of the achievement.
+            # Possible values are:
+            # - "STANDARD" - Achievement is either locked or unlocked.
+            # - "INCREMENTAL" - Achievement is incremental.
+        "description": "A String", # The description of the achievement.
+        "revealedIconUrl": "A String", # The image URL for the revealed achievement icon.
+        "formattedTotalSteps": "A String", # The total steps for an incremental achievement as a string.
+        "kind": "games#achievementDefinition", # Uniquely identifies the type of this resource. Value is always the fixed string games#achievementDefinition.
+        "initialState": "A String", # The initial state of the achievement.
+            # Possible values are:
+            # - "HIDDEN" - Achievement is hidden.
+            # - "REVEALED" - Achievement is revealed.
+            # - "UNLOCKED" - Achievement is unlocked.
+        "isRevealedIconUrlDefault": True or False, # Indicates whether the revealed icon image being returned is a default image, or is provided by the game.
+        "unlockedIconUrl": "A String", # The image URL for the unlocked achievement icon.
+        "id": "A String", # The ID of the achievement.
+        "isUnlockedIconUrlDefault": True or False, # Indicates whether the unlocked icon image being returned is a default image, or is game-provided.
+        "name": "A String", # The name of the achievement.
+      },
+    ],
+    "kind": "games#achievementDefinitionsListResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#achievementDefinitionsListResponse.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/games_v1.achievements.html b/docs/dyn/games_v1.achievements.html
new file mode 100644
index 0000000..ead3690
--- /dev/null
+++ b/docs/dyn/games_v1.achievements.html
@@ -0,0 +1,200 @@
+<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="games_v1.html">Google Play Game Services API</a> . <a href="games_v1.achievements.html">achievements</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#increment">increment(achievementId, stepsToIncrement, requestId=None)</a></code></p>
+<p class="firstline">Increments the steps of the achievement with the given ID for the currently authenticated player.</p>
+<p class="toc_element">
+  <code><a href="#list">list(playerId, language=None, pageToken=None, state=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists the progress for all your application's achievements for the currently authenticated player.</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="#reveal">reveal(achievementId)</a></code></p>
+<p class="firstline">Sets the state of the achievement with the given ID to REVEALED for the currently authenticated player.</p>
+<p class="toc_element">
+  <code><a href="#unlock">unlock(achievementId)</a></code></p>
+<p class="firstline">Unlocks this achievement for the currently authenticated player.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="increment">increment(achievementId, stepsToIncrement, requestId=None)</code>
+  <pre>Increments the steps of the achievement with the given ID for the currently authenticated player.
+
+Args:
+  achievementId: string, The ID of the achievement used by this method. (required)
+  stepsToIncrement: integer, The number of steps to increment. (required)
+  requestId: string, A randomly generated numeric ID for each request specified by the caller. This number is used at the server to ensure that the increment is performed correctly across retries.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for an achievement increment response
+    "currentSteps": 42, # The current steps recorded for this incremental achievement.
+    "newlyUnlocked": True or False, # Whether the the current steps for the achievement has reached the number of steps required to unlock.
+    "kind": "games#achievementIncrementResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#achievementIncrementResponse.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(playerId, language=None, pageToken=None, state=None, maxResults=None)</code>
+  <pre>Lists the progress for all your application's achievements for the currently authenticated player.
+
+Args:
+  playerId: string, A player ID. A value of me may be used in place of the authenticated player's ID. (required)
+  language: string, The preferred language to use for strings returned by this method.
+  pageToken: string, The token returned by the previous request.
+  state: string, Tells the server to return only achievements with the specified state. If this parameter isn't specified, all achievements are returned.
+    Allowed values
+      ALL - List all achievements. This is the default.
+      HIDDEN - List only hidden achievements.
+      REVEALED - List only revealed achievements.
+      UNLOCKED - List only unlocked achievements.
+  maxResults: integer, The maximum number of achievement resources to return in the response, used for paging. For any response, the actual number of achievement resources returned may be less than the specified maxResults.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a list of achievement objects.
+    "nextPageToken": "A String", # Token corresponding to the next page of results.
+    "items": [ # The achievements.
+      { # This is a JSON template for an achievement object.
+        "achievementState": "A String", # The state of the achievement.
+            # Possible values are:
+            # - "HIDDEN" - Achievement is hidden.
+            # - "REVEALED" - Achievement is revealed.
+            # - "UNLOCKED" - Achievement is unlocked.
+        "kind": "games#playerAchievement", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerAchievement.
+        "lastUpdatedTimestamp": "A String", # The timestamp of the last modification to this achievement's state.
+        "currentSteps": 42, # The current steps for an incremental achievement.
+        "formattedCurrentStepsString": "A String", # The current steps for an incremental achievement as a string.
+        "id": "A String", # The ID of the achievement.
+      },
+    ],
+    "kind": "games#playerAchievementListResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerAchievementListResponse.
+  }</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="reveal">reveal(achievementId)</code>
+  <pre>Sets the state of the achievement with the given ID to REVEALED for the currently authenticated player.
+
+Args:
+  achievementId: string, The ID of the achievement used by this method. (required)
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for an achievement reveal response
+    "kind": "games#achievementRevealResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#achievementRevealResponse.
+    "currentState": "A String", # The current state of the achievement for which a reveal was attempted. This might be UNLOCKED if the achievement was already unlocked.
+        # Possible values are:
+        # - "REVEALED" - Achievement is revealed.
+        # - "UNLOCKED" - Achievement is unlocked.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="unlock">unlock(achievementId)</code>
+  <pre>Unlocks this achievement for the currently authenticated player.
+
+Args:
+  achievementId: string, The ID of the achievement used by this method. (required)
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for an achievement unlock response
+    "newlyUnlocked": True or False, # Whether this achievement was newly unlocked (that is, whether the unlock request for the achievement was the first for the player).
+    "kind": "games#achievementUnlockResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#achievementUnlockResponse.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/games_v1.applications.html b/docs/dyn/games_v1.applications.html
new file mode 100644
index 0000000..5ae1305
--- /dev/null
+++ b/docs/dyn/games_v1.applications.html
@@ -0,0 +1,168 @@
+<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="games_v1.html">Google Play Game Services API</a> . <a href="games_v1.applications.html">applications</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(applicationId, language=None, platformType=None)</a></code></p>
+<p class="firstline">Retrieves the metadata of the application with the given ID. If the requested application is not available for the specified platformType, the returned response will not include any instance data.</p>
+<p class="toc_element">
+  <code><a href="#played">played()</a></code></p>
+<p class="firstline">Indicate that the the currently authenticated user is playing your application.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(applicationId, language=None, platformType=None)</code>
+  <pre>Retrieves the metadata of the application with the given ID. If the requested application is not available for the specified platformType, the returned response will not include any instance data.
+
+Args:
+  applicationId: string, The application being requested. (required)
+  language: string, The preferred language to use for strings returned by this method.
+  platformType: string, Restrict application details returned to the specific platform.
+    Allowed values
+      ANDROID - Retrieve applications that can be played on Android.
+      IOS - Retrieve applications that can be played on iOS.
+      WEB_APP - Retrieve applications that can be played on desktop web.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for the Application resource.
+    "category": { # This is a JSON template for an application category object. # The category of the application.
+      "kind": "games#applicationCategory", # Uniquely identifies the type of this resource. Value is always the fixed string games#applicationCategory.
+      "primary": "A String", # The primary category.
+      "secondary": "A String", # The secondary category.
+    },
+    "kind": "games#application", # Uniquely identifies the type of this resource. Value is always the fixed string games#application.
+    "description": "A String", # The description of the application.
+    "author": "A String", # The author of the application.
+    "lastUpdatedTimestamp": "A String", # The last updated timestamp of the application.
+    "name": "A String", # The name of the application.
+    "instances": [ # The instances of the application.
+      { # This is a JSON template for the Instance resource.
+        "kind": "games#instance", # Uniquely identifies the type of this resource. Value is always the fixed string games#instance.
+        "acquisitionUri": "A String", # URI which shows where a user can acquire this instance.
+        "name": "A String", # Localized display name.
+        "turnBasedPlay": True or False, # Flag to show if this game instance supports turn based play.
+        "webInstance": { # This is a JSON template for the Web details resource. # Platform dependent details for Web.
+          "kind": "games#instanceWebDetails", # Uniquely identifies the type of this resource. Value is always the fixed string games#instanceWebDetails.
+          "launchUrl": "A String", # Launch URL for the game.
+          "preferred": True or False, # Indicates that this instance is the default for new installations.
+        },
+        "androidInstance": { # This is a JSON template for the Android instance details resource. # Platform dependent details for Android.
+          "kind": "games#instanceAndroidDetails", # Uniquely identifies the type of this resource. Value is always the fixed string games#instanceAndroidDetails.
+          "enablePiracyCheck": True or False, # Flag indicating whether the anti-piracy check is enabled.
+          "packageName": "A String", # Android package name which maps to Google Play URL.
+          "preferred": True or False, # Indicates that this instance is the default for new installations.
+        },
+        "iosInstance": { # This is a JSON template for the iOS details resource. # Platform dependent details for iOS.
+          "kind": "games#instanceIosDetails", # Uniquely identifies the type of this resource. Value is always the fixed string games#instanceIosDetails.
+          "supportIphone": True or False, # Flag to indicate if this instance supports iPhone.
+          "preferredForIpad": True or False, # Indicates that this instance is the default for new installations on iPad devices.
+          "itunesAppId": "A String", # iTunes App ID.
+          "bundleIdentifier": "A String", # Bundle identifier.
+          "supportIpad": True or False, # Flag to indicate if this instance supports iPad.
+          "preferredForIphone": True or False, # Indicates that this instance is the default for new installations on iPhone devices.
+        },
+        "platformType": "A String", # The platform type.
+            # Possible values are:
+            # - "ANDROID" - Instance is for Android.
+            # - "IOS" - Instance is for iOS
+            # - "WEB_APP" - Instance is for Web App.
+        "realtimePlay": True or False, # Flag to show if this game instance supports realtime play.
+      },
+    ],
+    "achievement_count": 42, # The number of achievements visible to the currently authenticated player.
+    "leaderboard_count": 42, # The number of leaderboards visible to the currently authenticated player.
+    "id": "A String", # The ID of the application.
+    "assets": [ # The assets of the application.
+      { # This is a JSON template for an image asset object.
+        "url": "A String", # The URL of the asset.
+        "width": 42, # The width of the asset.
+        "kind": "games#imageAsset", # Uniquely identifies the type of this resource. Value is always the fixed string games#imageAsset.
+        "name": "A String", # The name of the asset.
+        "height": 42, # The height of the asset.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="played">played()</code>
+  <pre>Indicate that the the currently authenticated user is playing your application.
+
+Args:
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/games_v1.html b/docs/dyn/games_v1.html
new file mode 100644
index 0000000..efc5279
--- /dev/null
+++ b/docs/dyn/games_v1.html
@@ -0,0 +1,117 @@
+<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="games_v1.html">Google Play Game Services API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="games_v1.achievementDefinitions.html">achievementDefinitions()</a></code>
+</p>
+<p class="firstline">Returns the achievementDefinitions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="games_v1.achievements.html">achievements()</a></code>
+</p>
+<p class="firstline">Returns the achievements Resource.</p>
+
+<p class="toc_element">
+  <code><a href="games_v1.applications.html">applications()</a></code>
+</p>
+<p class="firstline">Returns the applications Resource.</p>
+
+<p class="toc_element">
+  <code><a href="games_v1.leaderboards.html">leaderboards()</a></code>
+</p>
+<p class="firstline">Returns the leaderboards Resource.</p>
+
+<p class="toc_element">
+  <code><a href="games_v1.players.html">players()</a></code>
+</p>
+<p class="firstline">Returns the players Resource.</p>
+
+<p class="toc_element">
+  <code><a href="games_v1.revisions.html">revisions()</a></code>
+</p>
+<p class="firstline">Returns the revisions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="games_v1.rooms.html">rooms()</a></code>
+</p>
+<p class="firstline">Returns the rooms Resource.</p>
+
+<p class="toc_element">
+  <code><a href="games_v1.scores.html">scores()</a></code>
+</p>
+<p class="firstline">Returns the scores Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/games_v1.leaderboards.html b/docs/dyn/games_v1.leaderboards.html
new file mode 100644
index 0000000..e23f328
--- /dev/null
+++ b/docs/dyn/games_v1.leaderboards.html
@@ -0,0 +1,156 @@
+<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="games_v1.html">Google Play Game Services API</a> . <a href="games_v1.leaderboards.html">leaderboards</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(leaderboardId, language=None)</a></code></p>
+<p class="firstline">Retrieves the metadata of the leaderboard with the given ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(pageToken=None, language=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists all the leaderboard metadata for your application.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(leaderboardId, language=None)</code>
+  <pre>Retrieves the metadata of the leaderboard with the given ID.
+
+Args:
+  leaderboardId: string, The ID of the leaderboard. (required)
+  language: string, The preferred language to use for strings returned by this method.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for the Leaderboard resource.
+    "kind": "games#leaderboard", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboard.
+    "isIconUrlDefault": True or False, # Indicates whether the icon image being returned is a default image, or is game-provided.
+    "name": "A String", # The name of the leaderboard.
+    "id": "A String", # The leaderboard ID.
+    "iconUrl": "A String", # The icon for the leaderboard.
+    "order": "A String", # How scores are ordered.
+        # Possible values are:
+        # - "LARGER_IS_BETTER" - Larger values are better; scores are sorted in descending order.
+        # - "SMALLER_IS_BETTER" - Smaller values are better; scores are sorted in ascending order.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(pageToken=None, language=None, maxResults=None)</code>
+  <pre>Lists all the leaderboard metadata for your application.
+
+Args:
+  pageToken: string, The token returned by the previous request.
+  language: string, The preferred language to use for strings returned by this method.
+  maxResults: integer, The maximum number of leaderboards to return in the response. For any response, the actual number of leaderboards returned may be less than the specified maxResults.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a list of leaderboard objects.
+    "nextPageToken": "A String", # Token corresponding to the next page of results.
+    "items": [ # The leaderboards.
+      { # This is a JSON template for the Leaderboard resource.
+        "kind": "games#leaderboard", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboard.
+        "isIconUrlDefault": True or False, # Indicates whether the icon image being returned is a default image, or is game-provided.
+        "name": "A String", # The name of the leaderboard.
+        "id": "A String", # The leaderboard ID.
+        "iconUrl": "A String", # The icon for the leaderboard.
+        "order": "A String", # How scores are ordered.
+            # Possible values are:
+            # - "LARGER_IS_BETTER" - Larger values are better; scores are sorted in descending order.
+            # - "SMALLER_IS_BETTER" - Smaller values are better; scores are sorted in ascending order.
+      },
+    ],
+    "kind": "games#leaderboardListResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardListResponse.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/games_v1.players.html b/docs/dyn/games_v1.players.html
new file mode 100644
index 0000000..c664ffb
--- /dev/null
+++ b/docs/dyn/games_v1.players.html
@@ -0,0 +1,99 @@
+<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="games_v1.html">Google Play Game Services API</a> . <a href="games_v1.players.html">players</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(playerId)</a></code></p>
+<p class="firstline">Retrieves the Player resource with the given ID. To retrieve the player for the currently authenticated user, set playerId to me.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(playerId)</code>
+  <pre>Retrieves the Player resource with the given ID. To retrieve the player for the currently authenticated user, set playerId to me.
+
+Args:
+  playerId: string, A player ID. A value of me may be used in place of the authenticated player's ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a Player resource.
+    "playerId": "A String", # The ID of the player.
+    "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+    "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+    "displayName": "A String", # The name to display for the player.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/games_v1.revisions.html b/docs/dyn/games_v1.revisions.html
new file mode 100644
index 0000000..b4191cc
--- /dev/null
+++ b/docs/dyn/games_v1.revisions.html
@@ -0,0 +1,101 @@
+<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="games_v1.html">Google Play Game Services API</a> . <a href="games_v1.revisions.html">revisions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#check">check(clientRevision)</a></code></p>
+<p class="firstline">Checks whether the games client is out of date.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="check">check(clientRevision)</code>
+  <pre>Checks whether the games client is out of date.
+
+Args:
+  clientRevision: string, The revision of the client SDK used by your application. (required)
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for the result of checking a revision.
+    "kind": "games#revisionCheckResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#revisionCheckResponse.
+    "revisionStatus": "A String", # The result of the revision check.
+        # Possible values are:
+        # - "OK" - The revision being used is current.
+        # - "DEPRECATED" - There is currently a newer version available, but the revision being used still works.
+        # - "INVALID" - The revision being used is not supported in any released version.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/games_v1.rooms.html b/docs/dyn/games_v1.rooms.html
new file mode 100644
index 0000000..8dfb6c7
--- /dev/null
+++ b/docs/dyn/games_v1.rooms.html
@@ -0,0 +1,887 @@
+<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="games_v1.html">Google Play Game Services API</a> . <a href="games_v1.rooms.html">rooms</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#create">create(body, language=None)</a></code></p>
+<p class="firstline">Create a room. For internal use by the Games SDK only. Calling this method directly is unsupported.</p>
+<p class="toc_element">
+  <code><a href="#decline">decline(roomId)</a></code></p>
+<p class="firstline">Decline an invitation to join a room. For internal use by the Games SDK only. Calling this method directly is unsupported.</p>
+<p class="toc_element">
+  <code><a href="#dismiss">dismiss(roomId)</a></code></p>
+<p class="firstline">Dismiss an invitation to join a room. For internal use by the Games SDK only. Calling this method directly is unsupported.</p>
+<p class="toc_element">
+  <code><a href="#get">get(roomId, language=None)</a></code></p>
+<p class="firstline">Get the data for a room.</p>
+<p class="toc_element">
+  <code><a href="#join">join(roomId, body)</a></code></p>
+<p class="firstline">Join a room. For internal use by the Games SDK only. Calling this method directly is unsupported.</p>
+<p class="toc_element">
+  <code><a href="#leave">leave(roomId, body)</a></code></p>
+<p class="firstline">Leave a room. For internal use by the Games SDK only. Calling this method directly is unsupported.</p>
+<p class="toc_element">
+  <code><a href="#list">list(pageToken=None, language=None, maxResults=None)</a></code></p>
+<p class="firstline">Returns invitations to join rooms.</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="#reportStatus">reportStatus(roomId, body)</a></code></p>
+<p class="firstline">Updates sent by a client reporting the status of peers in a room. For internal use by the Games SDK only. Calling this method directly is unsupported.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(body, language=None)</code>
+  <pre>Create a room. For internal use by the Games SDK only. Calling this method directly is unsupported.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for a room creation request.
+    "kind": "games#roomCreateRequest", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomCreateRequest.
+    "autoMatchingCriteria": { # This is a JSON template for a room auto-match criteria object. # Criteria for auto-matching players into this room.
+      "kind": "games#roomAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchingCriteria.
+      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the room by auto-matching.
+      "exclusiveBitmask": "A String", # A bitmask indicating when auto-matches are valid. When ANDed with other exclusive bitmasks, the result must be zero. Can be used to support exclusive roles within a game.
+      "maxAutoMatchingPlayers": 42, # The maximum number of players that should be added to the room by auto-matching.
+    },
+    "invitedPlayerIds": [ # The player IDs to invite to the room.
+      "A String",
+    ],
+    "variant": 42, # The variant / mode of the application to be played. This can be any integer value, or left blank. You should use a small number of variants to keep the auto-matching pool as large as possible.
+    "capabilities": [ # The capabilities that this client supports for realtime communication.
+      "A String",
+    ],
+    "networkDiagnostics": { # This is a JSON template for network diagnostics reported for a client. # Network diagnostics for the client creating the room.
+      "registrationLatencyMillis": 42, # The amount of time in milliseconds it took for the client to establish a connection with the XMPP server.
+      "kind": "games#networkDiagnostics", # Uniquely identifies the type of this resource. Value is always the fixed string games#networkDiagnostics.
+      "androidNetworkSubtype": 42, # The Android network subtype.
+      "androidNetworkType": 42, # The Android network type.
+    },
+    "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the player creating the room.
+      "kind": "games#roomClientAddress", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress.
+      "xmppAddress": "A String", # The XMPP address of the client on the Google Games XMPP network.
+    },
+  }
+
+  language: string, The preferred language to use for strings returned by this method.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a room resource object.
+    "status": "A String", # The status of the room.
+        # Possible values are:
+        # - "ROOM_INVITING" - One or more players have been invited and not responded.
+        # - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by auto-matching.
+        # - "ROOM_CONNECTING" - Players have joined and are connecting to each other (either before or after auto-matching).
+        # - "ROOM_ACTIVE" - All players have joined and connected to each other.
+        # - "ROOM_DELETED" - The room should no longer be shown on the client. Returned in sync calls when a player joins a room (as a tombstone), or for rooms where all joined participants have left.
+    "kind": "games#room", # Uniquely identifies the type of this resource. Value is always the fixed string games#room.
+    "autoMatchingCriteria": { # This is a JSON template for a room auto-match criteria object. # Criteria for auto-matching players into this room.
+      "kind": "games#roomAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchingCriteria.
+      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the room by auto-matching.
+      "exclusiveBitmask": "A String", # A bitmask indicating when auto-matches are valid. When ANDed with other exclusive bitmasks, the result must be zero. Can be used to support exclusive roles within a game.
+      "maxAutoMatchingPlayers": 42, # The maximum number of players that should be added to the room by auto-matching.
+    },
+    "creationDetails": { # This is a JSON template for room modification metadata. # Details about the room creation.
+      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the room.
+    },
+    "description": "A String", # This short description is generated by our servers and worded relative to the player requesting the room. It is intended to be displayed when the room is shown in a list (that is, an invitation to a room.)
+    "roomId": "A String", # Globally unique ID for a room.
+    "autoMatchingStatus": { # This is a JSON template for status of room automatching that is in progress. # Auto-matching status for this room. Not set if the room is not currently in the automatching status.
+      "kind": "games#roomAutoMatchStatus", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchStatus.
+      "waitEstimateSeconds": 42, # An estimate for the amount of time that automatching is expected to take to complete.
+    },
+    "participants": [ # The participants involved in the room, along with their statuses. Includes participants who have left or declined invitations.
+      { # This is a JSON template for a participant in a room.
+        "status": "A String", # The status of the participant with respect to the room.
+            # Possible values are:
+            # - "PARTICIPANT_INVITED" - The participant has been invited to join the room, but has not yet responded.
+            # - "PARTICIPANT_JOINED" - The participant has joined the room (either after creating it or accepting an invitation.)
+            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the room.
+            # - "PARTICIPANT_LEFT" - The participant joined the room and then left it.
+        "kind": "games#roomParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomParticipant.
+        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#anonymousPlayer", # Uniquely identifies the type of this resource. Value is always the fixed string games#anonymousPlayer.
+          "avatarImageUrl": "A String", # The base URL for the image to display for the anonymous player.
+          "displayName": "A String", # The name to display for the anonymous player.
+        },
+        "leaveReason": "A String", # The reason the participant left the room; populated if the participant status is PARTICIPANT_LEFT.
+            # Possible values are:
+            # - "PLAYER_LEFT" - The player explicitly chose to leave the room.
+            # - "GAME_LEFT" - The game chose to remove the player from the room.
+            # - "ABANDONED" - The player switched to another application and abandoned the room.
+            # - "PEER_CONNECTION_FAILURE" - The client was unable to establish or maintain a connection to other peer(s) in the room.
+            # - "SERVER_ERROR" - The client received an error response when it tried to communicate with the server.
+            # - "TIMEOUT" - The client timed out while waiting for players to join and connect.
+            # - "PRESENCE_FAILURE" - The client's XMPP connection ended abruptly.
+        "capabilities": [ # The capabilities which can be used when communicating with this participant.
+          "A String",
+        ],
+        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "playerId": "A String", # The ID of the player.
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+          "displayName": "A String", # The name to display for the player.
+        },
+        "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant.
+          "kind": "games#roomClientAddress", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress.
+          "xmppAddress": "A String", # The XMPP address of the client on the Google Games XMPP network.
+        },
+        "connected": True or False, # True if this participant is in the fully connected set of peers in the room.
+        "id": "A String", # An identifier for the participant in the scope of the room. Cannot be used to identify a player across rooms or in other contexts.
+      },
+    ],
+    "roomStatusVersion": 42, # The version of the room status: an increasing counter, used by the client to ignore out-of-order updates to room status.
+    "variant": 42, # The variant / mode of the application being played; can be any integer value, or left blank.
+    "lastUpdateDetails": { # This is a JSON template for room modification metadata. # Details about the last update to the room.
+      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the room.
+    },
+    "applicationId": "A String", # The ID of the application being played.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="decline">decline(roomId)</code>
+  <pre>Decline an invitation to join a room. For internal use by the Games SDK only. Calling this method directly is unsupported.
+
+Args:
+  roomId: string, The ID of the room. (required)
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a room resource object.
+    "status": "A String", # The status of the room.
+        # Possible values are:
+        # - "ROOM_INVITING" - One or more players have been invited and not responded.
+        # - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by auto-matching.
+        # - "ROOM_CONNECTING" - Players have joined and are connecting to each other (either before or after auto-matching).
+        # - "ROOM_ACTIVE" - All players have joined and connected to each other.
+        # - "ROOM_DELETED" - The room should no longer be shown on the client. Returned in sync calls when a player joins a room (as a tombstone), or for rooms where all joined participants have left.
+    "kind": "games#room", # Uniquely identifies the type of this resource. Value is always the fixed string games#room.
+    "autoMatchingCriteria": { # This is a JSON template for a room auto-match criteria object. # Criteria for auto-matching players into this room.
+      "kind": "games#roomAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchingCriteria.
+      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the room by auto-matching.
+      "exclusiveBitmask": "A String", # A bitmask indicating when auto-matches are valid. When ANDed with other exclusive bitmasks, the result must be zero. Can be used to support exclusive roles within a game.
+      "maxAutoMatchingPlayers": 42, # The maximum number of players that should be added to the room by auto-matching.
+    },
+    "creationDetails": { # This is a JSON template for room modification metadata. # Details about the room creation.
+      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the room.
+    },
+    "description": "A String", # This short description is generated by our servers and worded relative to the player requesting the room. It is intended to be displayed when the room is shown in a list (that is, an invitation to a room.)
+    "roomId": "A String", # Globally unique ID for a room.
+    "autoMatchingStatus": { # This is a JSON template for status of room automatching that is in progress. # Auto-matching status for this room. Not set if the room is not currently in the automatching status.
+      "kind": "games#roomAutoMatchStatus", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchStatus.
+      "waitEstimateSeconds": 42, # An estimate for the amount of time that automatching is expected to take to complete.
+    },
+    "participants": [ # The participants involved in the room, along with their statuses. Includes participants who have left or declined invitations.
+      { # This is a JSON template for a participant in a room.
+        "status": "A String", # The status of the participant with respect to the room.
+            # Possible values are:
+            # - "PARTICIPANT_INVITED" - The participant has been invited to join the room, but has not yet responded.
+            # - "PARTICIPANT_JOINED" - The participant has joined the room (either after creating it or accepting an invitation.)
+            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the room.
+            # - "PARTICIPANT_LEFT" - The participant joined the room and then left it.
+        "kind": "games#roomParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomParticipant.
+        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#anonymousPlayer", # Uniquely identifies the type of this resource. Value is always the fixed string games#anonymousPlayer.
+          "avatarImageUrl": "A String", # The base URL for the image to display for the anonymous player.
+          "displayName": "A String", # The name to display for the anonymous player.
+        },
+        "leaveReason": "A String", # The reason the participant left the room; populated if the participant status is PARTICIPANT_LEFT.
+            # Possible values are:
+            # - "PLAYER_LEFT" - The player explicitly chose to leave the room.
+            # - "GAME_LEFT" - The game chose to remove the player from the room.
+            # - "ABANDONED" - The player switched to another application and abandoned the room.
+            # - "PEER_CONNECTION_FAILURE" - The client was unable to establish or maintain a connection to other peer(s) in the room.
+            # - "SERVER_ERROR" - The client received an error response when it tried to communicate with the server.
+            # - "TIMEOUT" - The client timed out while waiting for players to join and connect.
+            # - "PRESENCE_FAILURE" - The client's XMPP connection ended abruptly.
+        "capabilities": [ # The capabilities which can be used when communicating with this participant.
+          "A String",
+        ],
+        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "playerId": "A String", # The ID of the player.
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+          "displayName": "A String", # The name to display for the player.
+        },
+        "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant.
+          "kind": "games#roomClientAddress", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress.
+          "xmppAddress": "A String", # The XMPP address of the client on the Google Games XMPP network.
+        },
+        "connected": True or False, # True if this participant is in the fully connected set of peers in the room.
+        "id": "A String", # An identifier for the participant in the scope of the room. Cannot be used to identify a player across rooms or in other contexts.
+      },
+    ],
+    "roomStatusVersion": 42, # The version of the room status: an increasing counter, used by the client to ignore out-of-order updates to room status.
+    "variant": 42, # The variant / mode of the application being played; can be any integer value, or left blank.
+    "lastUpdateDetails": { # This is a JSON template for room modification metadata. # Details about the last update to the room.
+      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the room.
+    },
+    "applicationId": "A String", # The ID of the application being played.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="dismiss">dismiss(roomId)</code>
+  <pre>Dismiss an invitation to join a room. For internal use by the Games SDK only. Calling this method directly is unsupported.
+
+Args:
+  roomId: string, The ID of the room. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(roomId, language=None)</code>
+  <pre>Get the data for a room.
+
+Args:
+  roomId: string, The ID of the room. (required)
+  language: string, Specify the preferred language to use to format room info.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a room resource object.
+    "status": "A String", # The status of the room.
+        # Possible values are:
+        # - "ROOM_INVITING" - One or more players have been invited and not responded.
+        # - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by auto-matching.
+        # - "ROOM_CONNECTING" - Players have joined and are connecting to each other (either before or after auto-matching).
+        # - "ROOM_ACTIVE" - All players have joined and connected to each other.
+        # - "ROOM_DELETED" - The room should no longer be shown on the client. Returned in sync calls when a player joins a room (as a tombstone), or for rooms where all joined participants have left.
+    "kind": "games#room", # Uniquely identifies the type of this resource. Value is always the fixed string games#room.
+    "autoMatchingCriteria": { # This is a JSON template for a room auto-match criteria object. # Criteria for auto-matching players into this room.
+      "kind": "games#roomAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchingCriteria.
+      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the room by auto-matching.
+      "exclusiveBitmask": "A String", # A bitmask indicating when auto-matches are valid. When ANDed with other exclusive bitmasks, the result must be zero. Can be used to support exclusive roles within a game.
+      "maxAutoMatchingPlayers": 42, # The maximum number of players that should be added to the room by auto-matching.
+    },
+    "creationDetails": { # This is a JSON template for room modification metadata. # Details about the room creation.
+      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the room.
+    },
+    "description": "A String", # This short description is generated by our servers and worded relative to the player requesting the room. It is intended to be displayed when the room is shown in a list (that is, an invitation to a room.)
+    "roomId": "A String", # Globally unique ID for a room.
+    "autoMatchingStatus": { # This is a JSON template for status of room automatching that is in progress. # Auto-matching status for this room. Not set if the room is not currently in the automatching status.
+      "kind": "games#roomAutoMatchStatus", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchStatus.
+      "waitEstimateSeconds": 42, # An estimate for the amount of time that automatching is expected to take to complete.
+    },
+    "participants": [ # The participants involved in the room, along with their statuses. Includes participants who have left or declined invitations.
+      { # This is a JSON template for a participant in a room.
+        "status": "A String", # The status of the participant with respect to the room.
+            # Possible values are:
+            # - "PARTICIPANT_INVITED" - The participant has been invited to join the room, but has not yet responded.
+            # - "PARTICIPANT_JOINED" - The participant has joined the room (either after creating it or accepting an invitation.)
+            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the room.
+            # - "PARTICIPANT_LEFT" - The participant joined the room and then left it.
+        "kind": "games#roomParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomParticipant.
+        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#anonymousPlayer", # Uniquely identifies the type of this resource. Value is always the fixed string games#anonymousPlayer.
+          "avatarImageUrl": "A String", # The base URL for the image to display for the anonymous player.
+          "displayName": "A String", # The name to display for the anonymous player.
+        },
+        "leaveReason": "A String", # The reason the participant left the room; populated if the participant status is PARTICIPANT_LEFT.
+            # Possible values are:
+            # - "PLAYER_LEFT" - The player explicitly chose to leave the room.
+            # - "GAME_LEFT" - The game chose to remove the player from the room.
+            # - "ABANDONED" - The player switched to another application and abandoned the room.
+            # - "PEER_CONNECTION_FAILURE" - The client was unable to establish or maintain a connection to other peer(s) in the room.
+            # - "SERVER_ERROR" - The client received an error response when it tried to communicate with the server.
+            # - "TIMEOUT" - The client timed out while waiting for players to join and connect.
+            # - "PRESENCE_FAILURE" - The client's XMPP connection ended abruptly.
+        "capabilities": [ # The capabilities which can be used when communicating with this participant.
+          "A String",
+        ],
+        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "playerId": "A String", # The ID of the player.
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+          "displayName": "A String", # The name to display for the player.
+        },
+        "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant.
+          "kind": "games#roomClientAddress", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress.
+          "xmppAddress": "A String", # The XMPP address of the client on the Google Games XMPP network.
+        },
+        "connected": True or False, # True if this participant is in the fully connected set of peers in the room.
+        "id": "A String", # An identifier for the participant in the scope of the room. Cannot be used to identify a player across rooms or in other contexts.
+      },
+    ],
+    "roomStatusVersion": 42, # The version of the room status: an increasing counter, used by the client to ignore out-of-order updates to room status.
+    "variant": 42, # The variant / mode of the application being played; can be any integer value, or left blank.
+    "lastUpdateDetails": { # This is a JSON template for room modification metadata. # Details about the last update to the room.
+      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the room.
+    },
+    "applicationId": "A String", # The ID of the application being played.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="join">join(roomId, body)</code>
+  <pre>Join a room. For internal use by the Games SDK only. Calling this method directly is unsupported.
+
+Args:
+  roomId: string, The ID of the room. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for a join room request.
+    "networkDiagnostics": { # This is a JSON template for network diagnostics reported for a client. # Network diagnostics for the client joining the room.
+      "registrationLatencyMillis": 42, # The amount of time in milliseconds it took for the client to establish a connection with the XMPP server.
+      "kind": "games#networkDiagnostics", # Uniquely identifies the type of this resource. Value is always the fixed string games#networkDiagnostics.
+      "androidNetworkSubtype": 42, # The Android network subtype.
+      "androidNetworkType": 42, # The Android network type.
+    },
+    "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the player joining the room.
+      "kind": "games#roomClientAddress", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress.
+      "xmppAddress": "A String", # The XMPP address of the client on the Google Games XMPP network.
+    },
+    "kind": "games#roomJoinRequest", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomJoinRequest.
+    "capabilities": [ # The capabilities that this client supports for realtime communication.
+      "A String",
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a room resource object.
+    "status": "A String", # The status of the room.
+        # Possible values are:
+        # - "ROOM_INVITING" - One or more players have been invited and not responded.
+        # - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by auto-matching.
+        # - "ROOM_CONNECTING" - Players have joined and are connecting to each other (either before or after auto-matching).
+        # - "ROOM_ACTIVE" - All players have joined and connected to each other.
+        # - "ROOM_DELETED" - The room should no longer be shown on the client. Returned in sync calls when a player joins a room (as a tombstone), or for rooms where all joined participants have left.
+    "kind": "games#room", # Uniquely identifies the type of this resource. Value is always the fixed string games#room.
+    "autoMatchingCriteria": { # This is a JSON template for a room auto-match criteria object. # Criteria for auto-matching players into this room.
+      "kind": "games#roomAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchingCriteria.
+      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the room by auto-matching.
+      "exclusiveBitmask": "A String", # A bitmask indicating when auto-matches are valid. When ANDed with other exclusive bitmasks, the result must be zero. Can be used to support exclusive roles within a game.
+      "maxAutoMatchingPlayers": 42, # The maximum number of players that should be added to the room by auto-matching.
+    },
+    "creationDetails": { # This is a JSON template for room modification metadata. # Details about the room creation.
+      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the room.
+    },
+    "description": "A String", # This short description is generated by our servers and worded relative to the player requesting the room. It is intended to be displayed when the room is shown in a list (that is, an invitation to a room.)
+    "roomId": "A String", # Globally unique ID for a room.
+    "autoMatchingStatus": { # This is a JSON template for status of room automatching that is in progress. # Auto-matching status for this room. Not set if the room is not currently in the automatching status.
+      "kind": "games#roomAutoMatchStatus", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchStatus.
+      "waitEstimateSeconds": 42, # An estimate for the amount of time that automatching is expected to take to complete.
+    },
+    "participants": [ # The participants involved in the room, along with their statuses. Includes participants who have left or declined invitations.
+      { # This is a JSON template for a participant in a room.
+        "status": "A String", # The status of the participant with respect to the room.
+            # Possible values are:
+            # - "PARTICIPANT_INVITED" - The participant has been invited to join the room, but has not yet responded.
+            # - "PARTICIPANT_JOINED" - The participant has joined the room (either after creating it or accepting an invitation.)
+            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the room.
+            # - "PARTICIPANT_LEFT" - The participant joined the room and then left it.
+        "kind": "games#roomParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomParticipant.
+        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#anonymousPlayer", # Uniquely identifies the type of this resource. Value is always the fixed string games#anonymousPlayer.
+          "avatarImageUrl": "A String", # The base URL for the image to display for the anonymous player.
+          "displayName": "A String", # The name to display for the anonymous player.
+        },
+        "leaveReason": "A String", # The reason the participant left the room; populated if the participant status is PARTICIPANT_LEFT.
+            # Possible values are:
+            # - "PLAYER_LEFT" - The player explicitly chose to leave the room.
+            # - "GAME_LEFT" - The game chose to remove the player from the room.
+            # - "ABANDONED" - The player switched to another application and abandoned the room.
+            # - "PEER_CONNECTION_FAILURE" - The client was unable to establish or maintain a connection to other peer(s) in the room.
+            # - "SERVER_ERROR" - The client received an error response when it tried to communicate with the server.
+            # - "TIMEOUT" - The client timed out while waiting for players to join and connect.
+            # - "PRESENCE_FAILURE" - The client's XMPP connection ended abruptly.
+        "capabilities": [ # The capabilities which can be used when communicating with this participant.
+          "A String",
+        ],
+        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "playerId": "A String", # The ID of the player.
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+          "displayName": "A String", # The name to display for the player.
+        },
+        "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant.
+          "kind": "games#roomClientAddress", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress.
+          "xmppAddress": "A String", # The XMPP address of the client on the Google Games XMPP network.
+        },
+        "connected": True or False, # True if this participant is in the fully connected set of peers in the room.
+        "id": "A String", # An identifier for the participant in the scope of the room. Cannot be used to identify a player across rooms or in other contexts.
+      },
+    ],
+    "roomStatusVersion": 42, # The version of the room status: an increasing counter, used by the client to ignore out-of-order updates to room status.
+    "variant": 42, # The variant / mode of the application being played; can be any integer value, or left blank.
+    "lastUpdateDetails": { # This is a JSON template for room modification metadata. # Details about the last update to the room.
+      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the room.
+    },
+    "applicationId": "A String", # The ID of the application being played.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="leave">leave(roomId, body)</code>
+  <pre>Leave a room. For internal use by the Games SDK only. Calling this method directly is unsupported.
+
+Args:
+  roomId: string, The ID of the room. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for a leave room request.
+    "kind": "games#roomLeaveRequest", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomLeaveRequest.
+    "reason": "A String", # Reason for leaving the match.
+        # Possible values are:
+        # - "PLAYER_LEFT" - The player chose to leave the room..
+        # - "GAME_LEFT" - The game chose to remove the player from the room.
+        # - "REALTIME_ABANDONED" - The player switched to another application and abandoned the room.
+        # - "REALTIME_PEER_CONNECTION_FAILURE" - The client was unable to establish a connection to other peer(s).
+        # - "REALTIME_SERVER_CONNECTION_FAILURE" - The client was unable to communicate with the server.
+        # - "REALTIME_SERVER_ERROR" - The client received an error response when it tried to communicate with the server.
+        # - "REALTIME_TIMEOUT" - The client timed out while waiting for a room.
+    "leaveDiagnostics": { # This is a JSON template for room leave diagnostics. # Diagnostics for a player leaving the room.
+      "kind": "games#roomLeaveDiagnostics", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomLeaveDiagnostics.
+      "peerSession": [ # Diagnostics about all peer sessions.
+        { # This is a JSON template for peer session diagnostics.
+          "unreliableChannel": { # This is a JSON template for peer channel diagnostics. # Unreliable channel diagnostics.
+            "bytesReceived": { # This is a JSON template for aggregate stats. # Number of bytes received.
+              "count": "A String", # The number of messages sent between a pair of peers.
+              "max": "A String", # The maximum amount.
+              "kind": "games#aggregateStats", # Uniquely identifies the type of this resource. Value is always the fixed string games#aggregateStats.
+              "sum": "A String", # The total number of bytes sent for messages between a pair of peers.
+              "min": "A String", # The minimum amount.
+            },
+            "kind": "games#peerChannelDiagnostics", # Uniquely identifies the type of this resource. Value is always the fixed string games#peerChannelDiagnostics.
+            "bytesSent": { # This is a JSON template for aggregate stats. # Number of bytes sent.
+              "count": "A String", # The number of messages sent between a pair of peers.
+              "max": "A String", # The maximum amount.
+              "kind": "games#aggregateStats", # Uniquely identifies the type of this resource. Value is always the fixed string games#aggregateStats.
+              "sum": "A String", # The total number of bytes sent for messages between a pair of peers.
+              "min": "A String", # The minimum amount.
+            },
+            "numSendFailures": 42, # Number of send failures.
+            "numMessagesLost": 42, # Number of messages lost.
+            "numMessagesReceived": 42, # Number of messages received.
+            "numMessagesSent": 42, # Number of messages sent.
+            "roundtripLatencyMillis": { # This is a JSON template for aggregate stats. # Roundtrip latency stats in milliseconds.
+              "count": "A String", # The number of messages sent between a pair of peers.
+              "max": "A String", # The maximum amount.
+              "kind": "games#aggregateStats", # Uniquely identifies the type of this resource. Value is always the fixed string games#aggregateStats.
+              "sum": "A String", # The total number of bytes sent for messages between a pair of peers.
+              "min": "A String", # The minimum amount.
+            },
+          },
+          "kind": "games#peerSessionDiagnostics", # Uniquely identifies the type of this resource. Value is always the fixed string games#peerSessionDiagnostics.
+          "reliableChannel": { # This is a JSON template for peer channel diagnostics. # Reliable channel diagnostics.
+            "bytesReceived": { # This is a JSON template for aggregate stats. # Number of bytes received.
+              "count": "A String", # The number of messages sent between a pair of peers.
+              "max": "A String", # The maximum amount.
+              "kind": "games#aggregateStats", # Uniquely identifies the type of this resource. Value is always the fixed string games#aggregateStats.
+              "sum": "A String", # The total number of bytes sent for messages between a pair of peers.
+              "min": "A String", # The minimum amount.
+            },
+            "kind": "games#peerChannelDiagnostics", # Uniquely identifies the type of this resource. Value is always the fixed string games#peerChannelDiagnostics.
+            "bytesSent": { # This is a JSON template for aggregate stats. # Number of bytes sent.
+              "count": "A String", # The number of messages sent between a pair of peers.
+              "max": "A String", # The maximum amount.
+              "kind": "games#aggregateStats", # Uniquely identifies the type of this resource. Value is always the fixed string games#aggregateStats.
+              "sum": "A String", # The total number of bytes sent for messages between a pair of peers.
+              "min": "A String", # The minimum amount.
+            },
+            "numSendFailures": 42, # Number of send failures.
+            "numMessagesLost": 42, # Number of messages lost.
+            "numMessagesReceived": 42, # Number of messages received.
+            "numMessagesSent": 42, # Number of messages sent.
+            "roundtripLatencyMillis": { # This is a JSON template for aggregate stats. # Roundtrip latency stats in milliseconds.
+              "count": "A String", # The number of messages sent between a pair of peers.
+              "max": "A String", # The maximum amount.
+              "kind": "games#aggregateStats", # Uniquely identifies the type of this resource. Value is always the fixed string games#aggregateStats.
+              "sum": "A String", # The total number of bytes sent for messages between a pair of peers.
+              "min": "A String", # The minimum amount.
+            },
+          },
+          "connectedTimestampMillis": "A String", # Connected time in milliseconds.
+          "participantId": "A String", # The participant ID of the peer.
+        },
+      ],
+      "androidNetworkSubtype": 42, # Android network subtype. http://developer.android.com/reference/android/net/NetworkInfo.html#getSubtype()
+      "socketsUsed": True or False, # Whether or not sockets were used.
+      "androidNetworkType": 42, # Android network type. http://developer.android.com/reference/android/net/NetworkInfo.html#getType()
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a room resource object.
+    "status": "A String", # The status of the room.
+        # Possible values are:
+        # - "ROOM_INVITING" - One or more players have been invited and not responded.
+        # - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by auto-matching.
+        # - "ROOM_CONNECTING" - Players have joined and are connecting to each other (either before or after auto-matching).
+        # - "ROOM_ACTIVE" - All players have joined and connected to each other.
+        # - "ROOM_DELETED" - The room should no longer be shown on the client. Returned in sync calls when a player joins a room (as a tombstone), or for rooms where all joined participants have left.
+    "kind": "games#room", # Uniquely identifies the type of this resource. Value is always the fixed string games#room.
+    "autoMatchingCriteria": { # This is a JSON template for a room auto-match criteria object. # Criteria for auto-matching players into this room.
+      "kind": "games#roomAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchingCriteria.
+      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the room by auto-matching.
+      "exclusiveBitmask": "A String", # A bitmask indicating when auto-matches are valid. When ANDed with other exclusive bitmasks, the result must be zero. Can be used to support exclusive roles within a game.
+      "maxAutoMatchingPlayers": 42, # The maximum number of players that should be added to the room by auto-matching.
+    },
+    "creationDetails": { # This is a JSON template for room modification metadata. # Details about the room creation.
+      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the room.
+    },
+    "description": "A String", # This short description is generated by our servers and worded relative to the player requesting the room. It is intended to be displayed when the room is shown in a list (that is, an invitation to a room.)
+    "roomId": "A String", # Globally unique ID for a room.
+    "autoMatchingStatus": { # This is a JSON template for status of room automatching that is in progress. # Auto-matching status for this room. Not set if the room is not currently in the automatching status.
+      "kind": "games#roomAutoMatchStatus", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchStatus.
+      "waitEstimateSeconds": 42, # An estimate for the amount of time that automatching is expected to take to complete.
+    },
+    "participants": [ # The participants involved in the room, along with their statuses. Includes participants who have left or declined invitations.
+      { # This is a JSON template for a participant in a room.
+        "status": "A String", # The status of the participant with respect to the room.
+            # Possible values are:
+            # - "PARTICIPANT_INVITED" - The participant has been invited to join the room, but has not yet responded.
+            # - "PARTICIPANT_JOINED" - The participant has joined the room (either after creating it or accepting an invitation.)
+            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the room.
+            # - "PARTICIPANT_LEFT" - The participant joined the room and then left it.
+        "kind": "games#roomParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomParticipant.
+        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#anonymousPlayer", # Uniquely identifies the type of this resource. Value is always the fixed string games#anonymousPlayer.
+          "avatarImageUrl": "A String", # The base URL for the image to display for the anonymous player.
+          "displayName": "A String", # The name to display for the anonymous player.
+        },
+        "leaveReason": "A String", # The reason the participant left the room; populated if the participant status is PARTICIPANT_LEFT.
+            # Possible values are:
+            # - "PLAYER_LEFT" - The player explicitly chose to leave the room.
+            # - "GAME_LEFT" - The game chose to remove the player from the room.
+            # - "ABANDONED" - The player switched to another application and abandoned the room.
+            # - "PEER_CONNECTION_FAILURE" - The client was unable to establish or maintain a connection to other peer(s) in the room.
+            # - "SERVER_ERROR" - The client received an error response when it tried to communicate with the server.
+            # - "TIMEOUT" - The client timed out while waiting for players to join and connect.
+            # - "PRESENCE_FAILURE" - The client's XMPP connection ended abruptly.
+        "capabilities": [ # The capabilities which can be used when communicating with this participant.
+          "A String",
+        ],
+        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "playerId": "A String", # The ID of the player.
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+          "displayName": "A String", # The name to display for the player.
+        },
+        "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant.
+          "kind": "games#roomClientAddress", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress.
+          "xmppAddress": "A String", # The XMPP address of the client on the Google Games XMPP network.
+        },
+        "connected": True or False, # True if this participant is in the fully connected set of peers in the room.
+        "id": "A String", # An identifier for the participant in the scope of the room. Cannot be used to identify a player across rooms or in other contexts.
+      },
+    ],
+    "roomStatusVersion": 42, # The version of the room status: an increasing counter, used by the client to ignore out-of-order updates to room status.
+    "variant": 42, # The variant / mode of the application being played; can be any integer value, or left blank.
+    "lastUpdateDetails": { # This is a JSON template for room modification metadata. # Details about the last update to the room.
+      "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the room.
+    },
+    "applicationId": "A String", # The ID of the application being played.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(pageToken=None, language=None, maxResults=None)</code>
+  <pre>Returns invitations to join rooms.
+
+Args:
+  pageToken: string, The token returned by the previous request.
+  language: string, The preferred language to use for strings returned by this method.
+  maxResults: integer, The maximum number of rooms to return in the response, used for paging. For any response, the actual number of rooms to return may be less than the specified maxResults.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a list of rooms.
+    "nextPageToken": "A String", # The pagination token for the next page of results.
+    "items": [ # The rooms.
+      { # This is a JSON template for a room resource object.
+        "status": "A String", # The status of the room.
+            # Possible values are:
+            # - "ROOM_INVITING" - One or more players have been invited and not responded.
+            # - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by auto-matching.
+            # - "ROOM_CONNECTING" - Players have joined and are connecting to each other (either before or after auto-matching).
+            # - "ROOM_ACTIVE" - All players have joined and connected to each other.
+            # - "ROOM_DELETED" - The room should no longer be shown on the client. Returned in sync calls when a player joins a room (as a tombstone), or for rooms where all joined participants have left.
+        "kind": "games#room", # Uniquely identifies the type of this resource. Value is always the fixed string games#room.
+        "autoMatchingCriteria": { # This is a JSON template for a room auto-match criteria object. # Criteria for auto-matching players into this room.
+          "kind": "games#roomAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchingCriteria.
+          "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the room by auto-matching.
+          "exclusiveBitmask": "A String", # A bitmask indicating when auto-matches are valid. When ANDed with other exclusive bitmasks, the result must be zero. Can be used to support exclusive roles within a game.
+          "maxAutoMatchingPlayers": 42, # The maximum number of players that should be added to the room by auto-matching.
+        },
+        "creationDetails": { # This is a JSON template for room modification metadata. # Details about the room creation.
+          "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
+          "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
+          "participantId": "A String", # The ID of the participant that modified the room.
+        },
+        "description": "A String", # This short description is generated by our servers and worded relative to the player requesting the room. It is intended to be displayed when the room is shown in a list (that is, an invitation to a room.)
+        "roomId": "A String", # Globally unique ID for a room.
+        "autoMatchingStatus": { # This is a JSON template for status of room automatching that is in progress. # Auto-matching status for this room. Not set if the room is not currently in the automatching status.
+          "kind": "games#roomAutoMatchStatus", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchStatus.
+          "waitEstimateSeconds": 42, # An estimate for the amount of time that automatching is expected to take to complete.
+        },
+        "participants": [ # The participants involved in the room, along with their statuses. Includes participants who have left or declined invitations.
+          { # This is a JSON template for a participant in a room.
+            "status": "A String", # The status of the participant with respect to the room.
+                # Possible values are:
+                # - "PARTICIPANT_INVITED" - The participant has been invited to join the room, but has not yet responded.
+                # - "PARTICIPANT_JOINED" - The participant has joined the room (either after creating it or accepting an invitation.)
+                # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the room.
+                # - "PARTICIPANT_LEFT" - The participant joined the room and then left it.
+            "kind": "games#roomParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomParticipant.
+            "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+              "kind": "games#anonymousPlayer", # Uniquely identifies the type of this resource. Value is always the fixed string games#anonymousPlayer.
+              "avatarImageUrl": "A String", # The base URL for the image to display for the anonymous player.
+              "displayName": "A String", # The name to display for the anonymous player.
+            },
+            "leaveReason": "A String", # The reason the participant left the room; populated if the participant status is PARTICIPANT_LEFT.
+                # Possible values are:
+                # - "PLAYER_LEFT" - The player explicitly chose to leave the room.
+                # - "GAME_LEFT" - The game chose to remove the player from the room.
+                # - "ABANDONED" - The player switched to another application and abandoned the room.
+                # - "PEER_CONNECTION_FAILURE" - The client was unable to establish or maintain a connection to other peer(s) in the room.
+                # - "SERVER_ERROR" - The client received an error response when it tried to communicate with the server.
+                # - "TIMEOUT" - The client timed out while waiting for players to join and connect.
+                # - "PRESENCE_FAILURE" - The client's XMPP connection ended abruptly.
+            "capabilities": [ # The capabilities which can be used when communicating with this participant.
+              "A String",
+            ],
+            "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+              "playerId": "A String", # The ID of the player.
+              "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+              "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+              "displayName": "A String", # The name to display for the player.
+            },
+            "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant.
+              "kind": "games#roomClientAddress", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress.
+              "xmppAddress": "A String", # The XMPP address of the client on the Google Games XMPP network.
+            },
+            "connected": True or False, # True if this participant is in the fully connected set of peers in the room.
+            "id": "A String", # An identifier for the participant in the scope of the room. Cannot be used to identify a player across rooms or in other contexts.
+          },
+        ],
+        "roomStatusVersion": 42, # The version of the room status: an increasing counter, used by the client to ignore out-of-order updates to room status.
+        "variant": 42, # The variant / mode of the application being played; can be any integer value, or left blank.
+        "lastUpdateDetails": { # This is a JSON template for room modification metadata. # Details about the last update to the room.
+          "kind": "games#roomModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification.
+          "modifiedTimestampMillis": "A String", # The timestamp at which they modified the room, in milliseconds since the epoch in UTC.
+          "participantId": "A String", # The ID of the participant that modified the room.
+        },
+        "applicationId": "A String", # The ID of the application being played.
+      },
+    ],
+    "kind": "games#roomList", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomList.
+  }</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="reportStatus">reportStatus(roomId, body)</code>
+  <pre>Updates sent by a client reporting the status of peers in a room. For internal use by the Games SDK only. Calling this method directly is unsupported.
+
+Args:
+  roomId: string, The ID of the room. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for an update on the status of peers in a room.
+    "kind": "games#roomP2PStatuses", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomP2PStatuses.
+    "updates": [ # The updates for the peers.
+      { # This is a JSON template for an update on the status of a peer in a room.
+        "status": "A String", # The status of the peer in the room.
+            # Possible values are:
+            # - "CONNECTION_ESTABLISHED" - The client established a P2P connection with the peer.
+            # - "CONNECTION_FAILED" - The client failed to establish directed presence with the peer.
+        "kind": "games#roomP2PStatus", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomP2PStatus.
+        "participantId": "A String", # The ID of the participant.
+        "unreliableRoundtripLatencyMillis": 42, # The amount of time in milliseconds it took to send packets back and forth on the unreliable channel with this peer.
+        "connectionSetupLatencyMillis": 42, # The amount of time in milliseconds it took to establish connections with this peer.
+        "error": "A String", # The error code in event of a failure.
+            # Possible values are:
+            # - "P2P_FAILED" - The client failed to establish a P2P connection with the peer.
+            # - "PRESENCE_FAILED" - The client failed to register to receive P2P connections.
+            # - "RELAY_SERVER_FAILED" - The client received an error when trying to use the relay server to establish a P2P connection with the peer.
+        "error_reason": "A String", # More detailed diagnostic message returned in event of a failure.
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for the status of a room that the player has joined.
+    "status": "A String", # The status of the room.
+        # Possible values are:
+        # - "ROOM_INVITING" - One or more players have been invited and not responded.
+        # - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by auto-matching.
+        # - "ROOM_CONNECTING" - Players have joined are connecting to each other (either before or after auto-matching).
+        # - "ROOM_ACTIVE" - All players have joined and connected to each other.
+        # - "ROOM_DELETED" - All joined players have left.
+    "kind": "games#roomStatus", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomStatus.
+    "autoMatchingStatus": { # This is a JSON template for status of room automatching that is in progress. # Auto-matching status for this room. Not set if the room is not currently in the automatching queue.
+      "kind": "games#roomAutoMatchStatus", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchStatus.
+      "waitEstimateSeconds": 42, # An estimate for the amount of time that automatching is expected to take to complete.
+    },
+    "participants": [ # The participants involved in the room, along with their statuses. Includes participants who have left or declined invitations.
+      { # This is a JSON template for a participant in a room.
+        "status": "A String", # The status of the participant with respect to the room.
+            # Possible values are:
+            # - "PARTICIPANT_INVITED" - The participant has been invited to join the room, but has not yet responded.
+            # - "PARTICIPANT_JOINED" - The participant has joined the room (either after creating it or accepting an invitation.)
+            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the room.
+            # - "PARTICIPANT_LEFT" - The participant joined the room and then left it.
+        "kind": "games#roomParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomParticipant.
+        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#anonymousPlayer", # Uniquely identifies the type of this resource. Value is always the fixed string games#anonymousPlayer.
+          "avatarImageUrl": "A String", # The base URL for the image to display for the anonymous player.
+          "displayName": "A String", # The name to display for the anonymous player.
+        },
+        "leaveReason": "A String", # The reason the participant left the room; populated if the participant status is PARTICIPANT_LEFT.
+            # Possible values are:
+            # - "PLAYER_LEFT" - The player explicitly chose to leave the room.
+            # - "GAME_LEFT" - The game chose to remove the player from the room.
+            # - "ABANDONED" - The player switched to another application and abandoned the room.
+            # - "PEER_CONNECTION_FAILURE" - The client was unable to establish or maintain a connection to other peer(s) in the room.
+            # - "SERVER_ERROR" - The client received an error response when it tried to communicate with the server.
+            # - "TIMEOUT" - The client timed out while waiting for players to join and connect.
+            # - "PRESENCE_FAILURE" - The client's XMPP connection ended abruptly.
+        "capabilities": [ # The capabilities which can be used when communicating with this participant.
+          "A String",
+        ],
+        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "playerId": "A String", # The ID of the player.
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+          "displayName": "A String", # The name to display for the player.
+        },
+        "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant.
+          "kind": "games#roomClientAddress", # Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress.
+          "xmppAddress": "A String", # The XMPP address of the client on the Google Games XMPP network.
+        },
+        "connected": True or False, # True if this participant is in the fully connected set of peers in the room.
+        "id": "A String", # An identifier for the participant in the scope of the room. Cannot be used to identify a player across rooms or in other contexts.
+      },
+    ],
+    "statusVersion": 42, # The version of the status for the room: an increasing counter, used by the client to ignore out-of-order updates to room status.
+    "roomId": "A String", # Globally unique ID for a room.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/games_v1.scores.html b/docs/dyn/games_v1.scores.html
new file mode 100644
index 0000000..702ab36
--- /dev/null
+++ b/docs/dyn/games_v1.scores.html
@@ -0,0 +1,438 @@
+<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="games_v1.html">Google Play Game Services API</a> . <a href="games_v1.scores.html">scores</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(playerId, leaderboardId, timeSpan, includeRankType=None, language=None, maxResults=None, pageToken=None)</a></code></p>
+<p class="firstline">Get high scores and optionally, ranks in leaderboards for the currently authenticated player. For a specific time span, leaderboardId can be set to ALL to retrieve data for all leaderboards in a given time span.</p>
+<p class="toc_element">
+  <code><a href="#get_next">get_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="#list">list(leaderboardId, collection, timeSpan, language=None, maxResults=None, pageToken=None)</a></code></p>
+<p class="firstline">Lists the scores in a leaderboard, starting from the top.</p>
+<p class="toc_element">
+  <code><a href="#listWindow">listWindow(leaderboardId, collection, timeSpan, language=None, returnTopIfAbsent=None, resultsAbove=None, maxResults=None, pageToken=None)</a></code></p>
+<p class="firstline">Lists the scores in a leaderboard around (and including) a player's score.</p>
+<p class="toc_element">
+  <code><a href="#listWindow_next">listWindow_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="#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="#submit">submit(leaderboardId, score, language=None)</a></code></p>
+<p class="firstline">Submits a score to the specified leaderboard.</p>
+<p class="toc_element">
+  <code><a href="#submitMultiple">submitMultiple(body, language=None)</a></code></p>
+<p class="firstline">Submits multiple scores to leaderboards.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(playerId, leaderboardId, timeSpan, includeRankType=None, language=None, maxResults=None, pageToken=None)</code>
+  <pre>Get high scores and optionally, ranks in leaderboards for the currently authenticated player. For a specific time span, leaderboardId can be set to ALL to retrieve data for all leaderboards in a given time span.
+
+Args:
+  playerId: string, A player ID. A value of me may be used in place of the authenticated player's ID. (required)
+  leaderboardId: string, The ID of the leaderboard. (required)
+  timeSpan: string, The time span for the scores and ranks you're requesting. (required)
+    Allowed values
+      ALL - Get the high scores for all time spans. If this is used, maxResults values will be ignored.
+      ALL_TIME - Get the all time high score.
+      DAILY - List the top scores for the current day.
+      WEEKLY - List the top scores for the current week.
+  includeRankType: string, The types of ranks to return. If the parameter is omitted, no ranks will be returned.
+    Allowed values
+      ALL - Retrieve public and social ranks.
+      PUBLIC - Retrieve public ranks, if the player is sharing their gameplay activity publicly.
+      SOCIAL - Retrieve the social rank.
+  language: string, The preferred language to use for strings returned by this method.
+  maxResults: integer, The maximum number of leaderboard scores to return in the response. For any response, the actual number of leaderboard scores returned may be less than the specified maxResults.
+  pageToken: string, The token returned by the previous request.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a list of player leaderboard scores.
+    "nextPageToken": "A String", # The pagination token for the next page of results.
+    "items": [ # The leaderboard scores.
+      { # This is a JSON template for a player leaderboard score object.
+        "writeTimestamp": "A String", # The timestamp at which this score was recorded, in milliseconds since the epoch in UTC.
+        "kind": "games#playerLeaderboardScore", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerLeaderboardScore.
+        "publicRank": { # This is a JSON template for a score rank in a leaderboard. # The public rank of the score in this leaderboard. This object will not be present if the user is not sharing their scores publicly.
+          "numScores": "A String", # The number of scores in the leaderboard.
+          "kind": "games#leaderboardScoreRank", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardScoreRank.
+          "formattedRank": "A String", # The rank in the leaderboard as a string.
+          "rank": "A String", # The rank in the leaderboard.
+          "formattedNumScores": "A String", # The number of scores in the leaderboard as a string.
+        },
+        "timeSpan": "A String", # The time span of this score.
+            # Possible values are:
+            # - "ALL_TIME" - The score is an all-time score.
+            # - "WEEKLY" - The score is a weekly score.
+            # - "DAILY" - The score is a daily score.
+        "scoreString": "A String", # The formatted value of this score.
+        "leaderboard_id": "A String", # The ID of the leaderboard this score is in.
+        "scoreValue": "A String", # The numerical value of this score.
+        "socialRank": { # This is a JSON template for a score rank in a leaderboard. # The social rank of the score in this leaderboard.
+          "numScores": "A String", # The number of scores in the leaderboard.
+          "kind": "games#leaderboardScoreRank", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardScoreRank.
+          "formattedRank": "A String", # The rank in the leaderboard as a string.
+          "rank": "A String", # The rank in the leaderboard.
+          "formattedNumScores": "A String", # The number of scores in the leaderboard as a string.
+        },
+      },
+    ],
+    "kind": "games#playerLeaderboardScoreListResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerLeaderboardScoreListResponse.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get_next">get_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="list">list(leaderboardId, collection, timeSpan, language=None, maxResults=None, pageToken=None)</code>
+  <pre>Lists the scores in a leaderboard, starting from the top.
+
+Args:
+  leaderboardId: string, The ID of the leaderboard. (required)
+  collection: string, The collection of scores you're requesting. (required)
+    Allowed values
+      PUBLIC - List all scores in the public leaderboard.
+      SOCIAL - List only social scores.
+  timeSpan: string, The time span for the scores and ranks you're requesting. (required)
+    Allowed values
+      ALL_TIME - List the all-time top scores.
+      DAILY - List the top scores for the current day.
+      WEEKLY - List the top scores for the current week.
+  language: string, The preferred language to use for strings returned by this method.
+  maxResults: integer, The maximum number of leaderboard scores to return in the response. For any response, the actual number of leaderboard scores returned may be less than the specified maxResults.
+  pageToken: string, The token returned by the previous request.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a ListScores response.
+    "nextPageToken": "A String", # The pagination token for the next page of results.
+    "kind": "games#leaderboardScores", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardScores.
+    "numScores": "A String", # The total number of scores in the leaderboard.
+    "items": [ # The scores in the leaderboard.
+      { # This is a JSON template for the Leaderboard Entry resource.
+        "kind": "games#leaderboardEntry", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardEntry.
+        "scoreValue": "A String", # The numerical value of this score.
+        "timeSpan": "A String", # The time span of this high score.
+            # Possible values are:
+            # - "ALL_TIME" - The score is an all-time high score.
+            # - "WEEKLY" - The score is a weekly high score.
+            # - "DAILY" - The score is a daily high score.
+        "formattedScore": "A String", # The localized string for the numerical value of this score.
+        "player": { # This is a JSON template for a Player resource. # The player who holds this score.
+          "playerId": "A String", # The ID of the player.
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+          "displayName": "A String", # The name to display for the player.
+        },
+        "formattedScoreRank": "A String", # The localized string for the rank of this score for this leaderboard.
+        "scoreRank": "A String", # The rank of this score for this leaderboard.
+        "writeTimestampMillis": "A String", # The timestamp at which this score was recorded, in milliseconds since the epoch in UTC.
+      },
+    ],
+    "playerScore": { # This is a JSON template for the Leaderboard Entry resource. # The score of the requesting player on the leaderboard. The player's score may appear both here and in the list of scores above. If you are viewing a public leaderboard and the player is not sharing their gameplay information publicly, the scoreRank and formattedScoreRank values will not be present.
+      "kind": "games#leaderboardEntry", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardEntry.
+      "scoreValue": "A String", # The numerical value of this score.
+      "timeSpan": "A String", # The time span of this high score.
+          # Possible values are:
+          # - "ALL_TIME" - The score is an all-time high score.
+          # - "WEEKLY" - The score is a weekly high score.
+          # - "DAILY" - The score is a daily high score.
+      "formattedScore": "A String", # The localized string for the numerical value of this score.
+      "player": { # This is a JSON template for a Player resource. # The player who holds this score.
+        "playerId": "A String", # The ID of the player.
+        "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+        "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+        "displayName": "A String", # The name to display for the player.
+      },
+      "formattedScoreRank": "A String", # The localized string for the rank of this score for this leaderboard.
+      "scoreRank": "A String", # The rank of this score for this leaderboard.
+      "writeTimestampMillis": "A String", # The timestamp at which this score was recorded, in milliseconds since the epoch in UTC.
+    },
+    "prevPageToken": "A String", # The pagination token for the previous page of results.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listWindow">listWindow(leaderboardId, collection, timeSpan, language=None, returnTopIfAbsent=None, resultsAbove=None, maxResults=None, pageToken=None)</code>
+  <pre>Lists the scores in a leaderboard around (and including) a player's score.
+
+Args:
+  leaderboardId: string, The ID of the leaderboard. (required)
+  collection: string, The collection of scores you're requesting. (required)
+    Allowed values
+      PUBLIC - List all scores in the public leaderboard.
+      SOCIAL - List only social scores.
+  timeSpan: string, The time span for the scores and ranks you're requesting. (required)
+    Allowed values
+      ALL_TIME - List the all-time top scores.
+      DAILY - List the top scores for the current day.
+      WEEKLY - List the top scores for the current week.
+  language: string, The preferred language to use for strings returned by this method.
+  returnTopIfAbsent: boolean, True if the top scores should be returned when the player is not in the leaderboard. Defaults to true.
+  resultsAbove: integer, The preferred number of scores to return above the player's score. More scores may be returned if the player is at the bottom of the leaderboard; fewer may be returned if the player is at the top. Must be less than or equal to maxResults.
+  maxResults: integer, The maximum number of leaderboard scores to return in the response. For any response, the actual number of leaderboard scores returned may be less than the specified maxResults.
+  pageToken: string, The token returned by the previous request.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a ListScores response.
+    "nextPageToken": "A String", # The pagination token for the next page of results.
+    "kind": "games#leaderboardScores", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardScores.
+    "numScores": "A String", # The total number of scores in the leaderboard.
+    "items": [ # The scores in the leaderboard.
+      { # This is a JSON template for the Leaderboard Entry resource.
+        "kind": "games#leaderboardEntry", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardEntry.
+        "scoreValue": "A String", # The numerical value of this score.
+        "timeSpan": "A String", # The time span of this high score.
+            # Possible values are:
+            # - "ALL_TIME" - The score is an all-time high score.
+            # - "WEEKLY" - The score is a weekly high score.
+            # - "DAILY" - The score is a daily high score.
+        "formattedScore": "A String", # The localized string for the numerical value of this score.
+        "player": { # This is a JSON template for a Player resource. # The player who holds this score.
+          "playerId": "A String", # The ID of the player.
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+          "displayName": "A String", # The name to display for the player.
+        },
+        "formattedScoreRank": "A String", # The localized string for the rank of this score for this leaderboard.
+        "scoreRank": "A String", # The rank of this score for this leaderboard.
+        "writeTimestampMillis": "A String", # The timestamp at which this score was recorded, in milliseconds since the epoch in UTC.
+      },
+    ],
+    "playerScore": { # This is a JSON template for the Leaderboard Entry resource. # The score of the requesting player on the leaderboard. The player's score may appear both here and in the list of scores above. If you are viewing a public leaderboard and the player is not sharing their gameplay information publicly, the scoreRank and formattedScoreRank values will not be present.
+      "kind": "games#leaderboardEntry", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardEntry.
+      "scoreValue": "A String", # The numerical value of this score.
+      "timeSpan": "A String", # The time span of this high score.
+          # Possible values are:
+          # - "ALL_TIME" - The score is an all-time high score.
+          # - "WEEKLY" - The score is a weekly high score.
+          # - "DAILY" - The score is a daily high score.
+      "formattedScore": "A String", # The localized string for the numerical value of this score.
+      "player": { # This is a JSON template for a Player resource. # The player who holds this score.
+        "playerId": "A String", # The ID of the player.
+        "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+        "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+        "displayName": "A String", # The name to display for the player.
+      },
+      "formattedScoreRank": "A String", # The localized string for the rank of this score for this leaderboard.
+      "scoreRank": "A String", # The rank of this score for this leaderboard.
+      "writeTimestampMillis": "A String", # The timestamp at which this score was recorded, in milliseconds since the epoch in UTC.
+    },
+    "prevPageToken": "A String", # The pagination token for the previous page of results.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listWindow_next">listWindow_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="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="submit">submit(leaderboardId, score, language=None)</code>
+  <pre>Submits a score to the specified leaderboard.
+
+Args:
+  leaderboardId: string, The ID of the leaderboard. (required)
+  score: string, The score you're submitting. The submitted score is ignored if it is worse than a previously submitted score, where worse depends on the leaderboard sort order. The meaning of the score value depends on the leaderboard format type. For fixed-point, the score represents the raw value. For time, the score represents elapsed time in milliseconds. For currency, the score represents a value in micro units. (required)
+  language: string, The preferred language to use for strings returned by this method.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a list of leaderboard entry resources.
+    "kind": "games#playerScoreResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerScoreResponse.
+    "leaderboardId": "A String", # The leaderboard ID that this score was submitted to.
+    "formattedScore": "A String", # The formatted value of the submitted score.
+    "beatenScoreTimeSpans": [ # The time spans where the submitted score is better than the existing score for that time span.
+        # Possible values are:
+        # - "ALL_TIME" - The score is an all-time score.
+        # - "WEEKLY" - The score is a weekly score.
+        # - "DAILY" - The score is a daily score.
+      "A String",
+    ],
+    "unbeatenScores": [ # The scores in time spans that have not been beaten. As an example, the submitted score may be better than the player's DAILY score, but not better than the player's scores for the WEEKLY or ALL_TIME time spans.
+      { # This is a JSON template for a player score.
+        "kind": "games#playerScore", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerScore.
+        "score": "A String", # The numerical value for this player score.
+        "formattedScore": "A String", # The formatted score for this player score.
+        "timeSpan": "A String", # The time span for this player score.
+            # Possible values are:
+            # - "ALL_TIME" - The score is an all-time score.
+            # - "WEEKLY" - The score is a weekly score.
+            # - "DAILY" - The score is a daily score.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="submitMultiple">submitMultiple(body, language=None)</code>
+  <pre>Submits multiple scores to leaderboards.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for a list of score submission requests
+    "kind": "games#playerScoreSubmissionList", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerScoreSubmissionList.
+    "scores": [ # The score submissions.
+      { # This is a JSON template for a request to submit a score to leaderboards.
+        "kind": "games#scoreSubmission", # Uniquely identifies the type of this resource. Value is always the fixed string games#scoreSubmission.
+        "leaderboardId": "A String", # The leaderboard this score is being submitted to.
+        "score": "A String", # The new score being submitted.
+      },
+    ],
+  }
+
+  language: string, The preferred language to use for strings returned by this method.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a list of score submission statuses.
+    "submittedScores": [ # The score submissions statuses.
+      { # This is a JSON template for a list of leaderboard entry resources.
+        "kind": "games#playerScoreResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerScoreResponse.
+        "leaderboardId": "A String", # The leaderboard ID that this score was submitted to.
+        "formattedScore": "A String", # The formatted value of the submitted score.
+        "beatenScoreTimeSpans": [ # The time spans where the submitted score is better than the existing score for that time span.
+            # Possible values are:
+            # - "ALL_TIME" - The score is an all-time score.
+            # - "WEEKLY" - The score is a weekly score.
+            # - "DAILY" - The score is a daily score.
+          "A String",
+        ],
+        "unbeatenScores": [ # The scores in time spans that have not been beaten. As an example, the submitted score may be better than the player's DAILY score, but not better than the player's scores for the WEEKLY or ALL_TIME time spans.
+          { # This is a JSON template for a player score.
+            "kind": "games#playerScore", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerScore.
+            "score": "A String", # The numerical value for this player score.
+            "formattedScore": "A String", # The formatted score for this player score.
+            "timeSpan": "A String", # The time span for this player score.
+                # Possible values are:
+                # - "ALL_TIME" - The score is an all-time score.
+                # - "WEEKLY" - The score is a weekly score.
+                # - "DAILY" - The score is a daily score.
+          },
+        ],
+      },
+    ],
+    "kind": "games#playerScoreListResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerScoreListResponse.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/identitytoolkit_v3.html b/docs/dyn/identitytoolkit_v3.html
new file mode 100644
index 0000000..5922397
--- /dev/null
+++ b/docs/dyn/identitytoolkit_v3.html
@@ -0,0 +1,82 @@
+<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="identitytoolkit_v3.html">Google Identity Toolkit API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="identitytoolkit_v3.relyingparty.html">relyingparty()</a></code>
+</p>
+<p class="firstline">Returns the relyingparty Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/identitytoolkit_v3.relyingparty.html b/docs/dyn/identitytoolkit_v3.relyingparty.html
new file mode 100644
index 0000000..45f8db6
--- /dev/null
+++ b/docs/dyn/identitytoolkit_v3.relyingparty.html
@@ -0,0 +1,412 @@
+<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="identitytoolkit_v3.html">Google Identity Toolkit API</a> . <a href="identitytoolkit_v3.relyingparty.html">relyingparty</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#createAuthUri">createAuthUri(body)</a></code></p>
+<p class="firstline">Creates the URI used by the IdP to authenticate the user.</p>
+<p class="toc_element">
+  <code><a href="#deleteAccount">deleteAccount(body)</a></code></p>
+<p class="firstline">Delete user account.</p>
+<p class="toc_element">
+  <code><a href="#getAccountInfo">getAccountInfo(body)</a></code></p>
+<p class="firstline">Returns the account info.</p>
+<p class="toc_element">
+  <code><a href="#getOobConfirmationCode">getOobConfirmationCode(body)</a></code></p>
+<p class="firstline">Get a code for user action confirmation.</p>
+<p class="toc_element">
+  <code><a href="#resetPassword">resetPassword(body)</a></code></p>
+<p class="firstline">Set account info for a user.</p>
+<p class="toc_element">
+  <code><a href="#setAccountInfo">setAccountInfo(body)</a></code></p>
+<p class="firstline">Set account info for a user.</p>
+<p class="toc_element">
+  <code><a href="#uploadAccount">uploadAccount(body)</a></code></p>
+<p class="firstline">Batch upload existing user accounts.</p>
+<p class="toc_element">
+  <code><a href="#verifyAssertion">verifyAssertion(body)</a></code></p>
+<p class="firstline">Verifies the assertion returned by the IdP.</p>
+<p class="toc_element">
+  <code><a href="#verifyPassword">verifyPassword(body)</a></code></p>
+<p class="firstline">Verifies the user entered password.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="createAuthUri">createAuthUri(body)</code>
+  <pre>Creates the URI used by the IdP to authenticate the user.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to get the IDP authentication URL.
+    "openidRealm": "A String", # Optional realm for OpenID protocol. The sub string "scheme://domain:port" of the param "continueUri" is used if this is not set.
+    "clientId": "A String", # The relying party OAuth client ID.
+    "providerId": "A String", # The IdP ID. For white listed IdPs it's a short domain name e.g. google.com, aol.com, live.net and yahoo.com. For other OpenID IdPs it's the OP identifier.
+    "context": "A String", # The opaque value used by the client to maintain context info between the authentication request and the IDP callback.
+    "continueUri": "A String", # The URI to which the IDP redirects the user after the federated login flow.
+    "identifier": "A String", # The email or federated ID of the user.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Response of creating the IDP authentication URL.
+    "kind": "identitytoolkit#CreateAuthUriResponse", # The fixed string identitytoolkit#CreateAuthUriResponse".
+    "providers": [ # Existing IDP's for the user.
+      "A String",
+    ],
+    "registered": True or False, # Whether the user is registered if the identifier is an email.
+    "authUri": "A String", # The URI used by the IDP to authenticate the user.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="deleteAccount">deleteAccount(body)</code>
+  <pre>Delete user account.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to delete account.
+    "localId": "A String", # The local ID of the user.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Respone of deleting account.
+    "kind": "identitytoolkit#DeleteAccountResponse", # The fixed string "identitytoolkit#DeleteAccountResponse".
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getAccountInfo">getAccountInfo(body)</code>
+  <pre>Returns the account info.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to get the account information.
+    "idToken": "A String", # The GITKit token of the authenticated user.
+    "email": [ # The list of emails of the users to inquiry.
+      "A String",
+    ],
+    "localId": [ # The list of local ID's of the users to inquiry.
+      "A String",
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Response of getting account information.
+    "kind": "identitytoolkit#GetAccountInfoResponse", # The fixed string "identitytoolkit#GetAccountInfoResponse".
+    "users": [ # The info of the users.
+      {
+        "displayName": "A String", # The name of the user.
+        "localId": "A String", # The local ID of the user.
+        "language": "A String", # The language of the user.
+        "photoUrl": "A String", # The URL of the user profile photo.
+        "dateOfBirth": "A String", # The user's date of birth.
+        "version": 42, # Version of the user's password.
+        "providerUserInfo": [ # The IDP of the user.
+          {
+            "providerId": "A String", # The IdP ID. For white listed IdPs it's a short domain name, e.g., google.com, aol.com, live.net and yahoo.com. For other OpenID IdPs it's the OP identifier.
+            "displayName": "A String", # The user's display name at the IDP.
+            "photoUrl": "A String", # The user's photo url at the IDP.
+          },
+        ],
+        "timeZone": "A String", # The time zone of the user.
+        "passwordUpdatedAt": "A String", # The timestamp when the password was last updated.
+        "password": "A String", # The user's hashed password.
+        "salt": "A String", # The user's password salt.
+        "email": "A String", # The email returned by the IdP. NOTE: The federated login user may not own the email.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getOobConfirmationCode">getOobConfirmationCode(body)</code>
+  <pre>Get a code for user action confirmation.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request of getting a code for user confirmation (reset password, change email etc.)
+    "kind": "identitytoolkit#relyingparty", # The fixed string "identitytoolkit#relyingparty".
+    "requestType": "A String", # The request type.
+    "idToken": "A String", # The user's Gitkit login token for email change.
+    "challenge": "A String", # The recaptcha challenge presented to the user.
+    "newEmail": "A String", # The new email if the code is for email change.
+    "userIp": "A String", # The IP address of the user.
+    "email": "A String", # The email of the user.
+    "captchaResp": "A String", # The recaptcha response from the user.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Response of getting a code for user confirmation (reset password, change email etc.).
+    "kind": "identitytoolkit#GetOobConfirmationCodeResponse", # The fixed string "identitytoolkit#GetOobConfirmationCodeResponse".
+    "oobCode": "A String", # The code to be send to the user.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="resetPassword">resetPassword(body)</code>
+  <pre>Set account info for a user.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to reset the password.
+    "newPassword": "A String", # The new password inputted by the user.
+    "oldPassword": "A String", # The old password inputted by the user.
+    "oobCode": "A String", # The confirmation code.
+    "email": "A String", # The email address of the user.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Response of resetting the password.
+    "kind": "identitytoolkit#ResetPasswordResponse", # The fixed string "identitytoolkit#ResetPasswordResponse".
+    "email": "A String", # The user's email.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="setAccountInfo">setAccountInfo(body)</code>
+  <pre>Set account info for a user.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to set the account information.
+    "oobCode": "A String", # The out-of-band code of the change email request.
+    "localId": "A String", # The local ID of the user.
+    "upgradeToFederatedLogin": True or False, # Mark the user to upgrade to federated login.
+    "emailVerified": True or False, # Mark the email as verified or not.
+    "provider": [ # The associated IDPs of the user.
+      "A String",
+    ],
+    "idToken": "A String", # The GITKit token of the authenticated user.
+    "displayName": "A String", # The name of the user.
+    "password": "A String", # The new password of the user.
+    "email": "A String", # The email of the user.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Respone of setting the account information.
+    "kind": "identitytoolkit#SetAccountInfoResponse", # The fixed string "identitytoolkit#SetAccountInfoResponse".
+    "displayName": "A String", # The name of the user.
+    "email": "A String", # The email of the user.
+    "provider": [ # The associated IDPs of the user.
+      "A String",
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="uploadAccount">uploadAccount(body)</code>
+  <pre>Batch upload existing user accounts.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to upload user account in batch.
+    "hashAlgorithm": "A String",
+    "signerKey": "A String",
+    "memoryCost": 42,
+    "saltSeparator": "A String",
+    "userAccount": [ # The account info to be stored.
+      { # Template for an individual account info.
+        "kind": "identitytoolkit#userinfo", # Identifies this object as a user info.
+        "password": "A String", # password
+        "salt": "A String", # salt
+        "email": "A String", # email
+        "localId": "A String", # user's id at the site
+      },
+    ],
+    "rounds": 42,
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Respone of uploading accounts in batch.
+    "kind": "identitytoolkit#UploadAccountResponse", # The fixed string "identitytoolkit#UploadAccountResponse".
+    "error": [ # The error encountered while processing the account info.
+      {
+        "index": 42, # The index of the malformed account, starting from 0.
+        "message": "A String", # Detailed error message for the account info.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="verifyAssertion">verifyAssertion(body)</code>
+  <pre>Verifies the assertion returned by the IdP.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to verify the IDP assertion.
+    "requestUri": "A String", # The URI to which the IDP redirects the user back. It may contain federated login result params added by the IDP.
+    "postBody": "A String", # The post body if the request is a HTTP POST.
+    "pendingIdToken": "A String", # The GITKit token for the non-trusted IDP pending to be confirmed by the user.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Response of verifying the IDP assertion.
+    "federatedId": "A String", # The unique ID identifies the IdP account.
+    "localId": "A String", # The RP local ID if it's already been mapped to the IdP account identified by the federated ID.
+    "photoUrl": "A String", # The URI of the public accessible profiel picture.
+    "inputEmail": "A String", # It's the identifier param in the createAuthUri request if the identifier is an email. It can be used to check whether the user input email is different from the asserted email.
+    "verifiedProvider": [ # When action is 'map', contains the idps which can be used for confirmation.
+      "A String",
+    ],
+    "originalEmail": "A String", # The original email stored in the mapping storage. It's returned when the federated ID is associated to a different email.
+    "dateOfBirth": "A String", # The birth date of the IdP account.
+    "nickName": "A String", # The nick name of the user.
+    "email": "A String", # The email returned by the IdP. NOTE: The federated login user may not own the email.
+    "idToken": "A String", # The ID token.
+    "fullName": "A String", # The full name of the user.
+    "kind": "identitytoolkit#VerifyAssertionResponse", # The fixed string "identitytoolkit#VerifyAssertionResponse".
+    "displayName": "A String", # The display name of the user.
+    "firstName": "A String", # The first name of the user.
+    "language": "A String", # The language preference of the user.
+    "emailVerified": True or False, # The value is true if the IDP is also the email provider. It means the user owns the email.
+    "oauthScope": "A String", # The scope for the OpenID OAuth extension.
+    "oauthRequestToken": "A String", # The user approved request token for the OpenID OAuth extension.
+    "providerId": "A String", # The IdP ID. For white listed IdPs it's a short domain name e.g. google.com, aol.com, live.net and yahoo.com. If the "providerId" param is set to OpenID OP identifer other than the whilte listed IdPs the OP identifier is returned. If the "identifier" param is federated ID in the createAuthUri request. The domain part of the federated ID is returned.
+    "context": "A String", # The opaque value used by the client to maintain context info between the authentication request and the IDP callback.
+    "lastName": "A String", # The last name of the user.
+    "action": "A String", # The action code.
+    "timeZone": "A String", # The timezone of the user.
+    "emailRecycled": True or False, # It's true if the email is recycled.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="verifyPassword">verifyPassword(body)</code>
+  <pre>Verifies the user entered password.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to verify the password.
+    "password": "A String", # The password inputed by the user.
+    "email": "A String", # The email of the user.
+    "pendingIdToken": "A String", # The GITKit token for the non-trusted IDP, which is to be confirmed by the user.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Request of verifying the password.
+    "kind": "identitytoolkit#VerifyPasswordResponse", # The fixed string "identitytoolkit#VerifyPasswordResponse".
+    "displayName": "A String", # The name of the user.
+    "localId": "A String", # The RP local ID if it's already been mapped to the IdP account identified by the federated ID.
+    "idToken": "A String", # The GITKit token for authenticated user.
+    "registered": True or False, # Whether the email is registered.
+    "email": "A String", # The email returned by the IdP. NOTE: The federated login user may not own the email.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mirror_v1.contacts.html b/docs/dyn/mirror_v1.contacts.html
new file mode 100644
index 0000000..dc73645
--- /dev/null
+++ b/docs/dyn/mirror_v1.contacts.html
@@ -0,0 +1,316 @@
+<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="mirror_v1.html">Google Mirror API</a> . <a href="mirror_v1.contacts.html">contacts</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(id)</a></code></p>
+<p class="firstline">Deletes a contact.</p>
+<p class="toc_element">
+  <code><a href="#get">get(id)</a></code></p>
+<p class="firstline">Gets a single contact by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(body)</a></code></p>
+<p class="firstline">Inserts a new contact.</p>
+<p class="toc_element">
+  <code><a href="#list">list()</a></code></p>
+<p class="firstline">Retrieves a list of contacts for the authenticated user.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(id, body)</a></code></p>
+<p class="firstline">Updates a contact in place. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(id, body)</a></code></p>
+<p class="firstline">Updates a contact in place.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(id)</code>
+  <pre>Deletes a contact.
+
+Args:
+  id: string, The ID of the contact. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(id)</code>
+  <pre>Gets a single contact by ID.
+
+Args:
+  id: string, The ID of the contact. (required)
+
+Returns:
+  An object of the form:
+
+    { # A person or group that can be used as a creator or a contact.
+      "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+      "displayName": "A String", # The name to display for this contact.
+      "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+        "A String",
+      ],
+      "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+          # - INDIVIDUAL - Represents a single person. This is the default.
+          # - GROUP - Represents more than a single person.
+      "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+      "source": "A String", # The ID of the application that created this contact. This is populated by the API
+      "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+      "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+        "A String",
+      ],
+      "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(body)</code>
+  <pre>Inserts a new contact.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A person or group that can be used as a creator or a contact.
+    "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+    "displayName": "A String", # The name to display for this contact.
+    "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+      "A String",
+    ],
+    "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+        # - INDIVIDUAL - Represents a single person. This is the default.
+        # - GROUP - Represents more than a single person.
+    "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+    "source": "A String", # The ID of the application that created this contact. This is populated by the API
+    "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+    "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+      "A String",
+    ],
+    "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A person or group that can be used as a creator or a contact.
+      "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+      "displayName": "A String", # The name to display for this contact.
+      "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+        "A String",
+      ],
+      "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+          # - INDIVIDUAL - Represents a single person. This is the default.
+          # - GROUP - Represents more than a single person.
+      "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+      "source": "A String", # The ID of the application that created this contact. This is populated by the API
+      "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+      "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+        "A String",
+      ],
+      "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list()</code>
+  <pre>Retrieves a list of contacts for the authenticated user.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    { # A list of Contacts representing contacts. This is the response from the server to GET requests on the contacts collection.
+    "items": [ # Contact list.
+      { # A person or group that can be used as a creator or a contact.
+          "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+          "displayName": "A String", # The name to display for this contact.
+          "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+            "A String",
+          ],
+          "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+              # - INDIVIDUAL - Represents a single person. This is the default.
+              # - GROUP - Represents more than a single person.
+          "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+          "source": "A String", # The ID of the application that created this contact. This is populated by the API
+          "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+          "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+            "A String",
+          ],
+          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+        },
+    ],
+    "kind": "mirror#contacts", # The type of resource. This is always mirror#contacts.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(id, body)</code>
+  <pre>Updates a contact in place. This method supports patch semantics.
+
+Args:
+  id: string, The ID of the contact. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A person or group that can be used as a creator or a contact.
+    "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+    "displayName": "A String", # The name to display for this contact.
+    "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+      "A String",
+    ],
+    "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+        # - INDIVIDUAL - Represents a single person. This is the default.
+        # - GROUP - Represents more than a single person.
+    "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+    "source": "A String", # The ID of the application that created this contact. This is populated by the API
+    "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+    "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+      "A String",
+    ],
+    "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A person or group that can be used as a creator or a contact.
+      "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+      "displayName": "A String", # The name to display for this contact.
+      "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+        "A String",
+      ],
+      "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+          # - INDIVIDUAL - Represents a single person. This is the default.
+          # - GROUP - Represents more than a single person.
+      "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+      "source": "A String", # The ID of the application that created this contact. This is populated by the API
+      "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+      "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+        "A String",
+      ],
+      "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(id, body)</code>
+  <pre>Updates a contact in place.
+
+Args:
+  id: string, The ID of the contact. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A person or group that can be used as a creator or a contact.
+    "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+    "displayName": "A String", # The name to display for this contact.
+    "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+      "A String",
+    ],
+    "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+        # - INDIVIDUAL - Represents a single person. This is the default.
+        # - GROUP - Represents more than a single person.
+    "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+    "source": "A String", # The ID of the application that created this contact. This is populated by the API
+    "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+    "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+      "A String",
+    ],
+    "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A person or group that can be used as a creator or a contact.
+      "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+      "displayName": "A String", # The name to display for this contact.
+      "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+        "A String",
+      ],
+      "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+          # - INDIVIDUAL - Represents a single person. This is the default.
+          # - GROUP - Represents more than a single person.
+      "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+      "source": "A String", # The ID of the application that created this contact. This is populated by the API
+      "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+      "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+        "A String",
+      ],
+      "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mirror_v1.html b/docs/dyn/mirror_v1.html
new file mode 100644
index 0000000..487a745
--- /dev/null
+++ b/docs/dyn/mirror_v1.html
@@ -0,0 +1,97 @@
+<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="mirror_v1.html">Google Mirror API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="mirror_v1.contacts.html">contacts()</a></code>
+</p>
+<p class="firstline">Returns the contacts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="mirror_v1.locations.html">locations()</a></code>
+</p>
+<p class="firstline">Returns the locations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="mirror_v1.subscriptions.html">subscriptions()</a></code>
+</p>
+<p class="firstline">Returns the subscriptions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="mirror_v1.timeline.html">timeline()</a></code>
+</p>
+<p class="firstline">Returns the timeline Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mirror_v1.locations.html b/docs/dyn/mirror_v1.locations.html
new file mode 100644
index 0000000..f43929e
--- /dev/null
+++ b/docs/dyn/mirror_v1.locations.html
@@ -0,0 +1,132 @@
+<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="mirror_v1.html">Google Mirror API</a> . <a href="mirror_v1.locations.html">locations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(id)</a></code></p>
+<p class="firstline">Gets a single location by ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list()</a></code></p>
+<p class="firstline">Retrieves a list of locations for the user.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(id)</code>
+  <pre>Gets a single location by ID.
+
+Args:
+  id: string, The ID of the location or latest for the last known location. (required)
+
+Returns:
+  An object of the form:
+
+    { # A geographic location that can be associated with a timeline item.
+    "kind": "mirror#location", # The type of resource. This is always mirror#location.
+    "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
+    "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
+    "longitude": 3.14, # The longitude, in degrees.
+    "address": "A String", # The full address of the location.
+    "latitude": 3.14, # The latitude, in degrees.
+    "id": "A String", # The ID of the location.
+    "accuracy": 3.14, # The accuracy of the location fix in meters.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list()</code>
+  <pre>Retrieves a list of locations for the user.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    { # A list of Locations. This is the response from the server to GET requests on the locations collection.
+    "items": [ # The list of locations.
+      { # A geographic location that can be associated with a timeline item.
+        "kind": "mirror#location", # The type of resource. This is always mirror#location.
+        "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
+        "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
+        "longitude": 3.14, # The longitude, in degrees.
+        "address": "A String", # The full address of the location.
+        "latitude": 3.14, # The latitude, in degrees.
+        "id": "A String", # The ID of the location.
+        "accuracy": 3.14, # The accuracy of the location fix in meters.
+      },
+    ],
+    "kind": "mirror#locationsList", # The type of resource. This is always mirror#locationsList.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mirror_v1.subscriptions.html b/docs/dyn/mirror_v1.subscriptions.html
new file mode 100644
index 0000000..56ade50
--- /dev/null
+++ b/docs/dyn/mirror_v1.subscriptions.html
@@ -0,0 +1,346 @@
+<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="mirror_v1.html">Google Mirror API</a> . <a href="mirror_v1.subscriptions.html">subscriptions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(id)</a></code></p>
+<p class="firstline">Deletes a subscription.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(body)</a></code></p>
+<p class="firstline">Creates a new subscription.</p>
+<p class="toc_element">
+  <code><a href="#list">list()</a></code></p>
+<p class="firstline">Retrieves a list of subscriptions for the authenticated user and service.</p>
+<p class="toc_element">
+  <code><a href="#update">update(id, body)</a></code></p>
+<p class="firstline">Updates an existing subscription in place.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(id)</code>
+  <pre>Deletes a subscription.
+
+Args:
+  id: string, The ID of the subscription. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(body)</code>
+  <pre>Creates a new subscription.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A subscription to events on a collection.
+    "kind": "mirror#subscription", # The type of resource. This is always mirror#subscription.
+    "notification": { # A notification delivered by the API. # Container object for notifications. This is not populated in the Subscription resource.
+      "itemId": "A String", # The ID of the item that generated the notification.
+      "collection": "A String", # The collection that generated the notification.
+      "verifyToken": "A String", # The secret verify token provided by the service when it subscribed for notifications.
+      "userToken": "A String", # The user token provided by the service when it subscribed for notifications.
+      "userActions": [ # A list of actions taken by the user that triggered the notification.
+        { # Represents an action taken by the user that triggered a notification.
+          "type": "A String", # The type of action. The value of this can be:
+              # - SHARE - the user shared an item.
+              # - REPLY - the user replied to an item.
+              # - REPLY_ALL - the user replied to all recipients of an item.
+              # - CUSTOM - the user selected a custom menu item on the timeline item.
+              # - DELETE - the user deleted the item.
+              # - PIN - the user pinned the item.
+              # - UNPIN - the user unpinned the item.  In the future, additional types may be added. UserActions with unrecognized types should be ignored.
+          "payload": "A String", # An optional payload for the action.
+              #
+              # For actions of type CUSTOM, this is the ID of the custom menu item that was selected.
+        },
+      ],
+      "operation": "A String", # The type of operation that generated the notification.
+    },
+    "updated": "A String", # The time at which this subscription was last modified, formatted according to RFC 3339.
+    "collection": "A String", # The collection to subscribe to. Allowed values are:
+        # - timeline - Changes in the timeline including insertion, deletion, and updates.
+        # - locations - Location updates.
+    "verifyToken": "A String", # A secret token sent to the subscriber in notifications so that it can verify that the notification was generated by Google.
+    "userToken": "A String", # An opaque token sent to the subscriber in notifications so that it can determine the ID of the user.
+    "operation": [ # A list of operations that should be subscribed to. An empty list indicates that all operations on the collection should be subscribed to. Allowed values are:
+        # - UPDATE - The item has been updated.
+        # - INSERT - A new item has been inserted.
+        # - DELETE - The item has been deleted.
+        # - MENU_ACTION - A custom menu item has been triggered by the user.
+      "A String",
+    ],
+    "id": "A String", # The ID of the subscription.
+    "callbackUrl": "A String", # The URL where notifications should be delivered (must start with https://).
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A subscription to events on a collection.
+      "kind": "mirror#subscription", # The type of resource. This is always mirror#subscription.
+      "notification": { # A notification delivered by the API. # Container object for notifications. This is not populated in the Subscription resource.
+        "itemId": "A String", # The ID of the item that generated the notification.
+        "collection": "A String", # The collection that generated the notification.
+        "verifyToken": "A String", # The secret verify token provided by the service when it subscribed for notifications.
+        "userToken": "A String", # The user token provided by the service when it subscribed for notifications.
+        "userActions": [ # A list of actions taken by the user that triggered the notification.
+          { # Represents an action taken by the user that triggered a notification.
+            "type": "A String", # The type of action. The value of this can be:
+                # - SHARE - the user shared an item.
+                # - REPLY - the user replied to an item.
+                # - REPLY_ALL - the user replied to all recipients of an item.
+                # - CUSTOM - the user selected a custom menu item on the timeline item.
+                # - DELETE - the user deleted the item.
+                # - PIN - the user pinned the item.
+                # - UNPIN - the user unpinned the item.  In the future, additional types may be added. UserActions with unrecognized types should be ignored.
+            "payload": "A String", # An optional payload for the action.
+                #
+                # For actions of type CUSTOM, this is the ID of the custom menu item that was selected.
+          },
+        ],
+        "operation": "A String", # The type of operation that generated the notification.
+      },
+      "updated": "A String", # The time at which this subscription was last modified, formatted according to RFC 3339.
+      "collection": "A String", # The collection to subscribe to. Allowed values are:
+          # - timeline - Changes in the timeline including insertion, deletion, and updates.
+          # - locations - Location updates.
+      "verifyToken": "A String", # A secret token sent to the subscriber in notifications so that it can verify that the notification was generated by Google.
+      "userToken": "A String", # An opaque token sent to the subscriber in notifications so that it can determine the ID of the user.
+      "operation": [ # A list of operations that should be subscribed to. An empty list indicates that all operations on the collection should be subscribed to. Allowed values are:
+          # - UPDATE - The item has been updated.
+          # - INSERT - A new item has been inserted.
+          # - DELETE - The item has been deleted.
+          # - MENU_ACTION - A custom menu item has been triggered by the user.
+        "A String",
+      ],
+      "id": "A String", # The ID of the subscription.
+      "callbackUrl": "A String", # The URL where notifications should be delivered (must start with https://).
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list()</code>
+  <pre>Retrieves a list of subscriptions for the authenticated user and service.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    { # A list of Subscriptions. This is the response from the server to GET requests on the subscription collection.
+    "items": [ # The list of subscriptions.
+      { # A subscription to events on a collection.
+          "kind": "mirror#subscription", # The type of resource. This is always mirror#subscription.
+          "notification": { # A notification delivered by the API. # Container object for notifications. This is not populated in the Subscription resource.
+            "itemId": "A String", # The ID of the item that generated the notification.
+            "collection": "A String", # The collection that generated the notification.
+            "verifyToken": "A String", # The secret verify token provided by the service when it subscribed for notifications.
+            "userToken": "A String", # The user token provided by the service when it subscribed for notifications.
+            "userActions": [ # A list of actions taken by the user that triggered the notification.
+              { # Represents an action taken by the user that triggered a notification.
+                "type": "A String", # The type of action. The value of this can be:
+                    # - SHARE - the user shared an item.
+                    # - REPLY - the user replied to an item.
+                    # - REPLY_ALL - the user replied to all recipients of an item.
+                    # - CUSTOM - the user selected a custom menu item on the timeline item.
+                    # - DELETE - the user deleted the item.
+                    # - PIN - the user pinned the item.
+                    # - UNPIN - the user unpinned the item.  In the future, additional types may be added. UserActions with unrecognized types should be ignored.
+                "payload": "A String", # An optional payload for the action.
+                    #
+                    # For actions of type CUSTOM, this is the ID of the custom menu item that was selected.
+              },
+            ],
+            "operation": "A String", # The type of operation that generated the notification.
+          },
+          "updated": "A String", # The time at which this subscription was last modified, formatted according to RFC 3339.
+          "collection": "A String", # The collection to subscribe to. Allowed values are:
+              # - timeline - Changes in the timeline including insertion, deletion, and updates.
+              # - locations - Location updates.
+          "verifyToken": "A String", # A secret token sent to the subscriber in notifications so that it can verify that the notification was generated by Google.
+          "userToken": "A String", # An opaque token sent to the subscriber in notifications so that it can determine the ID of the user.
+          "operation": [ # A list of operations that should be subscribed to. An empty list indicates that all operations on the collection should be subscribed to. Allowed values are:
+              # - UPDATE - The item has been updated.
+              # - INSERT - A new item has been inserted.
+              # - DELETE - The item has been deleted.
+              # - MENU_ACTION - A custom menu item has been triggered by the user.
+            "A String",
+          ],
+          "id": "A String", # The ID of the subscription.
+          "callbackUrl": "A String", # The URL where notifications should be delivered (must start with https://).
+        },
+    ],
+    "kind": "mirror#subscriptionsList", # The type of resource. This is always mirror#subscriptionsList.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(id, body)</code>
+  <pre>Updates an existing subscription in place.
+
+Args:
+  id: string, The ID of the subscription. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A subscription to events on a collection.
+    "kind": "mirror#subscription", # The type of resource. This is always mirror#subscription.
+    "notification": { # A notification delivered by the API. # Container object for notifications. This is not populated in the Subscription resource.
+      "itemId": "A String", # The ID of the item that generated the notification.
+      "collection": "A String", # The collection that generated the notification.
+      "verifyToken": "A String", # The secret verify token provided by the service when it subscribed for notifications.
+      "userToken": "A String", # The user token provided by the service when it subscribed for notifications.
+      "userActions": [ # A list of actions taken by the user that triggered the notification.
+        { # Represents an action taken by the user that triggered a notification.
+          "type": "A String", # The type of action. The value of this can be:
+              # - SHARE - the user shared an item.
+              # - REPLY - the user replied to an item.
+              # - REPLY_ALL - the user replied to all recipients of an item.
+              # - CUSTOM - the user selected a custom menu item on the timeline item.
+              # - DELETE - the user deleted the item.
+              # - PIN - the user pinned the item.
+              # - UNPIN - the user unpinned the item.  In the future, additional types may be added. UserActions with unrecognized types should be ignored.
+          "payload": "A String", # An optional payload for the action.
+              #
+              # For actions of type CUSTOM, this is the ID of the custom menu item that was selected.
+        },
+      ],
+      "operation": "A String", # The type of operation that generated the notification.
+    },
+    "updated": "A String", # The time at which this subscription was last modified, formatted according to RFC 3339.
+    "collection": "A String", # The collection to subscribe to. Allowed values are:
+        # - timeline - Changes in the timeline including insertion, deletion, and updates.
+        # - locations - Location updates.
+    "verifyToken": "A String", # A secret token sent to the subscriber in notifications so that it can verify that the notification was generated by Google.
+    "userToken": "A String", # An opaque token sent to the subscriber in notifications so that it can determine the ID of the user.
+    "operation": [ # A list of operations that should be subscribed to. An empty list indicates that all operations on the collection should be subscribed to. Allowed values are:
+        # - UPDATE - The item has been updated.
+        # - INSERT - A new item has been inserted.
+        # - DELETE - The item has been deleted.
+        # - MENU_ACTION - A custom menu item has been triggered by the user.
+      "A String",
+    ],
+    "id": "A String", # The ID of the subscription.
+    "callbackUrl": "A String", # The URL where notifications should be delivered (must start with https://).
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A subscription to events on a collection.
+      "kind": "mirror#subscription", # The type of resource. This is always mirror#subscription.
+      "notification": { # A notification delivered by the API. # Container object for notifications. This is not populated in the Subscription resource.
+        "itemId": "A String", # The ID of the item that generated the notification.
+        "collection": "A String", # The collection that generated the notification.
+        "verifyToken": "A String", # The secret verify token provided by the service when it subscribed for notifications.
+        "userToken": "A String", # The user token provided by the service when it subscribed for notifications.
+        "userActions": [ # A list of actions taken by the user that triggered the notification.
+          { # Represents an action taken by the user that triggered a notification.
+            "type": "A String", # The type of action. The value of this can be:
+                # - SHARE - the user shared an item.
+                # - REPLY - the user replied to an item.
+                # - REPLY_ALL - the user replied to all recipients of an item.
+                # - CUSTOM - the user selected a custom menu item on the timeline item.
+                # - DELETE - the user deleted the item.
+                # - PIN - the user pinned the item.
+                # - UNPIN - the user unpinned the item.  In the future, additional types may be added. UserActions with unrecognized types should be ignored.
+            "payload": "A String", # An optional payload for the action.
+                #
+                # For actions of type CUSTOM, this is the ID of the custom menu item that was selected.
+          },
+        ],
+        "operation": "A String", # The type of operation that generated the notification.
+      },
+      "updated": "A String", # The time at which this subscription was last modified, formatted according to RFC 3339.
+      "collection": "A String", # The collection to subscribe to. Allowed values are:
+          # - timeline - Changes in the timeline including insertion, deletion, and updates.
+          # - locations - Location updates.
+      "verifyToken": "A String", # A secret token sent to the subscriber in notifications so that it can verify that the notification was generated by Google.
+      "userToken": "A String", # An opaque token sent to the subscriber in notifications so that it can determine the ID of the user.
+      "operation": [ # A list of operations that should be subscribed to. An empty list indicates that all operations on the collection should be subscribed to. Allowed values are:
+          # - UPDATE - The item has been updated.
+          # - INSERT - A new item has been inserted.
+          # - DELETE - The item has been deleted.
+          # - MENU_ACTION - A custom menu item has been triggered by the user.
+        "A String",
+      ],
+      "id": "A String", # The ID of the subscription.
+      "callbackUrl": "A String", # The URL where notifications should be delivered (must start with https://).
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mirror_v1.timeline.attachments.html b/docs/dyn/mirror_v1.timeline.attachments.html
new file mode 100644
index 0000000..4684465
--- /dev/null
+++ b/docs/dyn/mirror_v1.timeline.attachments.html
@@ -0,0 +1,178 @@
+<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="mirror_v1.html">Google Mirror API</a> . <a href="mirror_v1.timeline.html">timeline</a> . <a href="mirror_v1.timeline.attachments.html">attachments</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(itemId, attachmentId)</a></code></p>
+<p class="firstline">Deletes an attachment from a timeline item.</p>
+<p class="toc_element">
+  <code><a href="#get">get(itemId, attachmentId)</a></code></p>
+<p class="firstline">Retrieves an attachment on a timeline item by item ID and attachment ID.</p>
+<p class="toc_element">
+  <code><a href="#get_media">get_media(itemId, attachmentId)</a></code></p>
+<p class="firstline">Retrieves an attachment on a timeline item by item ID and attachment ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(itemId, media_body=None)</a></code></p>
+<p class="firstline">Adds a new attachment to a timeline item.</p>
+<p class="toc_element">
+  <code><a href="#list">list(itemId)</a></code></p>
+<p class="firstline">Returns a list of attachments for a timeline item.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(itemId, attachmentId)</code>
+  <pre>Deletes an attachment from a timeline item.
+
+Args:
+  itemId: string, The ID of the timeline item the attachment belongs to. (required)
+  attachmentId: string, The ID of the attachment. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(itemId, attachmentId)</code>
+  <pre>Retrieves an attachment on a timeline item by item ID and attachment ID.
+
+Args:
+  itemId: string, The ID of the timeline item the attachment belongs to. (required)
+  attachmentId: string, The ID of the attachment. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents media content, such as a photo, that can be attached to a timeline item.
+    "contentUrl": "A String", # The URL for the content.
+    "contentType": "A String", # The MIME type of the attachment.
+    "id": "A String", # The ID of the attachment.
+    "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get_media">get_media(itemId, attachmentId)</code>
+  <pre>Retrieves an attachment on a timeline item by item ID and attachment ID.
+
+Args:
+  itemId: string, The ID of the timeline item the attachment belongs to. (required)
+  attachmentId: string, The ID of the attachment. (required)
+
+Returns:
+  The media object as a string.
+
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(itemId, media_body=None)</code>
+  <pre>Adds a new attachment to a timeline item.
+
+Args:
+  itemId: string, The ID of the timeline item the attachment belongs to. (required)
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+
+Returns:
+  An object of the form:
+
+    { # Represents media content, such as a photo, that can be attached to a timeline item.
+    "contentUrl": "A String", # The URL for the content.
+    "contentType": "A String", # The MIME type of the attachment.
+    "id": "A String", # The ID of the attachment.
+    "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(itemId)</code>
+  <pre>Returns a list of attachments for a timeline item.
+
+Args:
+  itemId: string, The ID of the timeline item whose attachments should be listed. (required)
+
+Returns:
+  An object of the form:
+
+    { # A list of Attachments. This is the response from the server to GET requests on the attachments collection.
+    "items": [ # The list of attachments.
+      { # Represents media content, such as a photo, that can be attached to a timeline item.
+        "contentUrl": "A String", # The URL for the content.
+        "contentType": "A String", # The MIME type of the attachment.
+        "id": "A String", # The ID of the attachment.
+        "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
+      },
+    ],
+    "kind": "mirror#attachmentsList", # The type of resource. This is always mirror#attachmentsList.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mirror_v1.timeline.html b/docs/dyn/mirror_v1.timeline.html
new file mode 100644
index 0000000..9d7d88b
--- /dev/null
+++ b/docs/dyn/mirror_v1.timeline.html
@@ -0,0 +1,1351 @@
+<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="mirror_v1.html">Google Mirror API</a> . <a href="mirror_v1.timeline.html">timeline</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="mirror_v1.timeline.attachments.html">attachments()</a></code>
+</p>
+<p class="firstline">Returns the attachments Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#delete">delete(id)</a></code></p>
+<p class="firstline">Deletes a timeline item.</p>
+<p class="toc_element">
+  <code><a href="#get">get(id)</a></code></p>
+<p class="firstline">Gets a single timeline item by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(body=None, media_body=None)</a></code></p>
+<p class="firstline">Inserts a new item into the timeline.</p>
+<p class="toc_element">
+  <code><a href="#list">list(orderBy=None, includeDeleted=None, pageToken=None, maxResults=None, pinnedOnly=None, sourceItemId=None, bundleId=None)</a></code></p>
+<p class="firstline">Retrieves a list of timeline items for the authenticated user.</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="#patch">patch(id, body)</a></code></p>
+<p class="firstline">Updates a timeline item in place. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(id, body=None, media_body=None)</a></code></p>
+<p class="firstline">Updates a timeline item in place.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(id)</code>
+  <pre>Deletes a timeline item.
+
+Args:
+  id: string, The ID of the timeline item. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(id)</code>
+  <pre>Gets a single timeline item by ID.
+
+Args:
+  id: string, The ID of the timeline item. (required)
+
+Returns:
+  An object of the form:
+
+    { # Each item in the user's timeline is represented as a TimelineItem JSON structure, described below.
+      "attachments": [ # A list of media attachments associated with this item. As a convenience, you can refer to attachments in your HTML payloads with the attachment or cid scheme. For example:
+          # - attachment: <img src="attachment:attachment_index"> where attachment_index is the 0-based index of this array.
+          # - cid: <img src="cid:attachment_id"> where attachment_id is the ID of the attachment.
+        { # Represents media content, such as a photo, that can be attached to a timeline item.
+          "contentUrl": "A String", # The URL for the content.
+          "contentType": "A String", # The MIME type of the attachment.
+          "id": "A String", # The ID of the attachment.
+          "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
+        },
+      ],
+      "displayTime": "A String", # The time that should be displayed when this item is viewed in the timeline, formatted according to RFC 3339. This user's timeline is sorted chronologically on display time, so this will also determine where the item is displayed in the timeline. If not set by the service, the display time defaults to the updated time.
+      "creator": { # A person or group that can be used as a creator or a contact. # The user or group that created this item.
+          "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+          "displayName": "A String", # The name to display for this contact.
+          "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+            "A String",
+          ],
+          "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+              # - INDIVIDUAL - Represents a single person. This is the default.
+              # - GROUP - Represents more than a single person.
+          "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+          "source": "A String", # The ID of the application that created this contact. This is populated by the API
+          "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+          "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+            "A String",
+          ],
+          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+        },
+      "text": "A String", # Text content of this item.
+      "menuItems": [ # A list of menu items that will be presented to the user when this item is selected in the timeline.
+        { # A custom menu item that can be presented to the user by a timeline item.
+          "action": "A String", # Controls the behavior when the user picks the menu option. Allowed values are:
+              # - CUSTOM - Custom action set by the service. When the user selects this menuItem, the API triggers a notification to your callbackUrl with the userActions.type set to CUSTOM and the userActions.payload set to the ID of this menu item. This is the default value.
+              # - Built-in actions:
+              # - REPLY - Initiate a reply to the timeline item using the voice recording UI. The creator attribute must be set in the timeline item for this menu to be available.
+              # - REPLY_ALL - Same behavior as REPLY. The original timeline item's recipients will be added to the reply item.
+              # - DELETE - Delete the timeline item.
+              # - SHARE - Share the timeline item with the available contacts.
+              # - READ_ALOUD - Read the timeline item's speakableText aloud; if this field is not set, read the text field; if none of those fields are set, this menu item is ignored.
+              # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phone_number attribute as recipient.
+              # - NAVIGATE - Navigate to the timeline item's location.
+              # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
+          "removeWhenSelected": True or False, # If set to true on a CUSTOM menu item, that item will be removed from the menu after it is selected.
+          "values": [ # For CUSTOM items, a list of values controlling the appearance of the menu item in each of its states. A value for the DEFAULT state must be provided. If the PENDING or CONFIRMED states are missing, they will not be shown.
+            { # A single value that is part of a MenuItem.
+              "iconUrl": "A String", # URL of an icon to display with the menu item.
+              "state": "A String", # The state that this value applies to. Allowed values are:
+                  # - DEFAULT - Default value shown when displayed in the menuItems list.
+                  # - PENDING - Value shown when the menuItem has been selected by the user but can still be cancelled.
+                  # - CONFIRMED - Value shown when the menuItem has been selected by the user and can no longer be cancelled.
+              "displayName": "A String", # The name to display for the menu item.
+            },
+          ],
+          "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
+        },
+      ],
+      "isBundleCover": True or False, # Whether this item is a bundle cover.
+          #
+          # If an item is marked as a bundle cover, it will be the entry point to the bundle of items that have the same bundleId as that item. It will be shown only on the main timeline — not within the opened bundle.
+          #
+          # On the main timeline, items that are shown are:
+          # - Items that have isBundleCover set to true
+          # - Items that do not have a bundleId  In a bundle sub-timeline, items that are shown are:
+          # - Items that have the bundleId in question AND isBundleCover set to false
+      "etag": "A String", # ETag for this item.
+      "id": "A String", # The ID of the timeline item. This is unique within a user's timeline.
+      "isDeleted": True or False, # When true, indicates this item is deleted, and only the ID property is set.
+      "bundleId": "A String", # The bundle ID for this item. Services can specify a bundleId to group many items together. They appear under a single top-level item on the device.
+      "isPinned": True or False, # When true, indicates this item is pinned, which means it's grouped alongside "active" items like navigation and hangouts, on the opposite side of the home screen from historical (non-pinned) timeline items. You can allow the user to toggle the value of this property with the TOGGLE_PINNED built-in menu item.
+      "title": "A String", # The title of this item.
+      "notification": { # Controls how notifications for a timeline item are presented to the user. # Controls how notifications for this item are presented on the device. If this is missing, no notification will be generated.
+        "level": "A String", # Describes how important the notification is. Allowed values are:
+            # - DEFAULT - Notifications of default importance. A chime will be played to alert users.
+        "deliveryTime": "A String", # The time at which the notification should be delivered.
+      },
+      "speakableText": "A String", # The speakable version of the content of this item. Along with the READ_ALOUD menu item, use this field to provide text that would be clearer when read aloud, or to provide extended information to what is displayed visually on Glass.
+          #
+          # Glassware should also specify the speakableType field, which will be spoken before this text in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
+      "html": "A String", # HTML content for this item. If both text and html are provided for an item, the html will be rendered in the timeline.
+          # Allowed HTML elements - You can use these elements in your timeline cards.
+          #
+          # - Headers: h1, h2, h3, h4, h5, h6
+          # - Images: img
+          # - Lists: li, ol, ul
+          # - HTML5 semantics: article, aside, details, figure, figcaption, footer, header, nav, section, summary, time
+          # - Structural: blockquote, br, div, hr, p, span
+          # - Style: b, big, center, em, i, u, s, small, strike, strong, style, sub, sup
+          # - Tables: table, tbody, td, tfoot, th, thead, tr
+          # Blocked HTML elements: These elements and their contents are removed from HTML payloads.
+          #
+          # - Document headers: head, title
+          # - Embeds: audio, embed, object, source, video
+          # - Frames: frame, frameset
+          # - Scripting: applet, script
+          # Other elements: Any elements that aren't listed are removed, but their contents are preserved.
+      "location": { # A geographic location that can be associated with a timeline item. # The geographic location associated with this item.
+        "kind": "mirror#location", # The type of resource. This is always mirror#location.
+        "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
+        "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
+        "longitude": 3.14, # The longitude, in degrees.
+        "address": "A String", # The full address of the location.
+        "latitude": 3.14, # The latitude, in degrees.
+        "id": "A String", # The ID of the location.
+        "accuracy": 3.14, # The accuracy of the location fix in meters.
+      },
+      "sourceItemId": "A String", # Opaque string you can use to map a timeline item to data in your own service.
+      "inReplyTo": "A String", # If this item was generated as a reply to another item, this field will be set to the ID of the item being replied to. This can be used to attach a reply to the appropriate conversation or post.
+      "updated": "A String", # The time at which this item was last modified, formatted according to RFC 3339.
+      "canonicalUrl": "A String", # A canonical URL pointing to the canonical/high quality version of the data represented by the timeline item.
+      "recipients": [ # A list of users or groups that this item has been shared with.
+        { # A person or group that can be used as a creator or a contact.
+            "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+            "displayName": "A String", # The name to display for this contact.
+            "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+              "A String",
+            ],
+            "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+                # - INDIVIDUAL - Represents a single person. This is the default.
+                # - GROUP - Represents more than a single person.
+            "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+            "source": "A String", # The ID of the application that created this contact. This is populated by the API
+            "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+            "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+              "A String",
+            ],
+            "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+          },
+      ],
+      "kind": "mirror#timelineItem", # The type of resource. This is always mirror#timelineItem.
+      "created": "A String", # The time at which this item was created, formatted according to RFC 3339.
+      "htmlPages": [ # Additional pages of HTML content associated with this item. If this field is specified, the item will be displayed as a bundle, with the html field as the cover. It is an error to specify this field without specifying the html field.
+        "A String",
+      ],
+      "pinScore": 42, # For pinned items, this determines the order in which the item is displayed in the timeline, with a higher score appearing closer to the clock. Note: setting this field is currently not supported.
+      "speakableType": "A String", # A speakable description of the type of this item. This will be announced to the user prior to reading the content of the item in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
+          #
+          # This should be a short, simple noun phrase such as "Email", "Text message", or "Daily Planet News Update".
+          #
+          # Glassware are encouraged to populate this field for every timeline item, even if the item does not contain speakableText or text so that the user can learn the type of the item without looking at the screen.
+      "selfLink": "A String", # A URL that can be used to retrieve this item.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(body=None, media_body=None)</code>
+  <pre>Inserts a new item into the timeline.
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Each item in the user's timeline is represented as a TimelineItem JSON structure, described below.
+    "attachments": [ # A list of media attachments associated with this item. As a convenience, you can refer to attachments in your HTML payloads with the attachment or cid scheme. For example:
+        # - attachment: <img src="attachment:attachment_index"> where attachment_index is the 0-based index of this array.
+        # - cid: <img src="cid:attachment_id"> where attachment_id is the ID of the attachment.
+      { # Represents media content, such as a photo, that can be attached to a timeline item.
+        "contentUrl": "A String", # The URL for the content.
+        "contentType": "A String", # The MIME type of the attachment.
+        "id": "A String", # The ID of the attachment.
+        "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
+      },
+    ],
+    "displayTime": "A String", # The time that should be displayed when this item is viewed in the timeline, formatted according to RFC 3339. This user's timeline is sorted chronologically on display time, so this will also determine where the item is displayed in the timeline. If not set by the service, the display time defaults to the updated time.
+    "creator": { # A person or group that can be used as a creator or a contact. # The user or group that created this item.
+        "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+        "displayName": "A String", # The name to display for this contact.
+        "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+          "A String",
+        ],
+        "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+            # - INDIVIDUAL - Represents a single person. This is the default.
+            # - GROUP - Represents more than a single person.
+        "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+        "source": "A String", # The ID of the application that created this contact. This is populated by the API
+        "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+        "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+          "A String",
+        ],
+        "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+      },
+    "text": "A String", # Text content of this item.
+    "menuItems": [ # A list of menu items that will be presented to the user when this item is selected in the timeline.
+      { # A custom menu item that can be presented to the user by a timeline item.
+        "action": "A String", # Controls the behavior when the user picks the menu option. Allowed values are:
+            # - CUSTOM - Custom action set by the service. When the user selects this menuItem, the API triggers a notification to your callbackUrl with the userActions.type set to CUSTOM and the userActions.payload set to the ID of this menu item. This is the default value.
+            # - Built-in actions:
+            # - REPLY - Initiate a reply to the timeline item using the voice recording UI. The creator attribute must be set in the timeline item for this menu to be available.
+            # - REPLY_ALL - Same behavior as REPLY. The original timeline item's recipients will be added to the reply item.
+            # - DELETE - Delete the timeline item.
+            # - SHARE - Share the timeline item with the available contacts.
+            # - READ_ALOUD - Read the timeline item's speakableText aloud; if this field is not set, read the text field; if none of those fields are set, this menu item is ignored.
+            # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phone_number attribute as recipient.
+            # - NAVIGATE - Navigate to the timeline item's location.
+            # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
+        "removeWhenSelected": True or False, # If set to true on a CUSTOM menu item, that item will be removed from the menu after it is selected.
+        "values": [ # For CUSTOM items, a list of values controlling the appearance of the menu item in each of its states. A value for the DEFAULT state must be provided. If the PENDING or CONFIRMED states are missing, they will not be shown.
+          { # A single value that is part of a MenuItem.
+            "iconUrl": "A String", # URL of an icon to display with the menu item.
+            "state": "A String", # The state that this value applies to. Allowed values are:
+                # - DEFAULT - Default value shown when displayed in the menuItems list.
+                # - PENDING - Value shown when the menuItem has been selected by the user but can still be cancelled.
+                # - CONFIRMED - Value shown when the menuItem has been selected by the user and can no longer be cancelled.
+            "displayName": "A String", # The name to display for the menu item.
+          },
+        ],
+        "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
+      },
+    ],
+    "isBundleCover": True or False, # Whether this item is a bundle cover.
+        # 
+        # If an item is marked as a bundle cover, it will be the entry point to the bundle of items that have the same bundleId as that item. It will be shown only on the main timeline — not within the opened bundle.
+        # 
+        # On the main timeline, items that are shown are:
+        # - Items that have isBundleCover set to true
+        # - Items that do not have a bundleId  In a bundle sub-timeline, items that are shown are:
+        # - Items that have the bundleId in question AND isBundleCover set to false
+    "etag": "A String", # ETag for this item.
+    "id": "A String", # The ID of the timeline item. This is unique within a user's timeline.
+    "isDeleted": True or False, # When true, indicates this item is deleted, and only the ID property is set.
+    "bundleId": "A String", # The bundle ID for this item. Services can specify a bundleId to group many items together. They appear under a single top-level item on the device.
+    "isPinned": True or False, # When true, indicates this item is pinned, which means it's grouped alongside "active" items like navigation and hangouts, on the opposite side of the home screen from historical (non-pinned) timeline items. You can allow the user to toggle the value of this property with the TOGGLE_PINNED built-in menu item.
+    "title": "A String", # The title of this item.
+    "notification": { # Controls how notifications for a timeline item are presented to the user. # Controls how notifications for this item are presented on the device. If this is missing, no notification will be generated.
+      "level": "A String", # Describes how important the notification is. Allowed values are:
+          # - DEFAULT - Notifications of default importance. A chime will be played to alert users.
+      "deliveryTime": "A String", # The time at which the notification should be delivered.
+    },
+    "speakableText": "A String", # The speakable version of the content of this item. Along with the READ_ALOUD menu item, use this field to provide text that would be clearer when read aloud, or to provide extended information to what is displayed visually on Glass.
+        # 
+        # Glassware should also specify the speakableType field, which will be spoken before this text in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
+    "html": "A String", # HTML content for this item. If both text and html are provided for an item, the html will be rendered in the timeline.
+        # Allowed HTML elements - You can use these elements in your timeline cards.
+        # 
+        # - Headers: h1, h2, h3, h4, h5, h6
+        # - Images: img
+        # - Lists: li, ol, ul
+        # - HTML5 semantics: article, aside, details, figure, figcaption, footer, header, nav, section, summary, time
+        # - Structural: blockquote, br, div, hr, p, span
+        # - Style: b, big, center, em, i, u, s, small, strike, strong, style, sub, sup
+        # - Tables: table, tbody, td, tfoot, th, thead, tr
+        # Blocked HTML elements: These elements and their contents are removed from HTML payloads.
+        # 
+        # - Document headers: head, title
+        # - Embeds: audio, embed, object, source, video
+        # - Frames: frame, frameset
+        # - Scripting: applet, script
+        # Other elements: Any elements that aren't listed are removed, but their contents are preserved.
+    "location": { # A geographic location that can be associated with a timeline item. # The geographic location associated with this item.
+      "kind": "mirror#location", # The type of resource. This is always mirror#location.
+      "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
+      "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
+      "longitude": 3.14, # The longitude, in degrees.
+      "address": "A String", # The full address of the location.
+      "latitude": 3.14, # The latitude, in degrees.
+      "id": "A String", # The ID of the location.
+      "accuracy": 3.14, # The accuracy of the location fix in meters.
+    },
+    "sourceItemId": "A String", # Opaque string you can use to map a timeline item to data in your own service.
+    "inReplyTo": "A String", # If this item was generated as a reply to another item, this field will be set to the ID of the item being replied to. This can be used to attach a reply to the appropriate conversation or post.
+    "updated": "A String", # The time at which this item was last modified, formatted according to RFC 3339.
+    "canonicalUrl": "A String", # A canonical URL pointing to the canonical/high quality version of the data represented by the timeline item.
+    "recipients": [ # A list of users or groups that this item has been shared with.
+      { # A person or group that can be used as a creator or a contact.
+          "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+          "displayName": "A String", # The name to display for this contact.
+          "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+            "A String",
+          ],
+          "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+              # - INDIVIDUAL - Represents a single person. This is the default.
+              # - GROUP - Represents more than a single person.
+          "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+          "source": "A String", # The ID of the application that created this contact. This is populated by the API
+          "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+          "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+            "A String",
+          ],
+          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+        },
+    ],
+    "kind": "mirror#timelineItem", # The type of resource. This is always mirror#timelineItem.
+    "created": "A String", # The time at which this item was created, formatted according to RFC 3339.
+    "htmlPages": [ # Additional pages of HTML content associated with this item. If this field is specified, the item will be displayed as a bundle, with the html field as the cover. It is an error to specify this field without specifying the html field.
+      "A String",
+    ],
+    "pinScore": 42, # For pinned items, this determines the order in which the item is displayed in the timeline, with a higher score appearing closer to the clock. Note: setting this field is currently not supported.
+    "speakableType": "A String", # A speakable description of the type of this item. This will be announced to the user prior to reading the content of the item in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
+        # 
+        # This should be a short, simple noun phrase such as "Email", "Text message", or "Daily Planet News Update".
+        # 
+        # Glassware are encouraged to populate this field for every timeline item, even if the item does not contain speakableText or text so that the user can learn the type of the item without looking at the screen.
+    "selfLink": "A String", # A URL that can be used to retrieve this item.
+  }
+
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+
+Returns:
+  An object of the form:
+
+    { # Each item in the user's timeline is represented as a TimelineItem JSON structure, described below.
+      "attachments": [ # A list of media attachments associated with this item. As a convenience, you can refer to attachments in your HTML payloads with the attachment or cid scheme. For example:
+          # - attachment: <img src="attachment:attachment_index"> where attachment_index is the 0-based index of this array.
+          # - cid: <img src="cid:attachment_id"> where attachment_id is the ID of the attachment.
+        { # Represents media content, such as a photo, that can be attached to a timeline item.
+          "contentUrl": "A String", # The URL for the content.
+          "contentType": "A String", # The MIME type of the attachment.
+          "id": "A String", # The ID of the attachment.
+          "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
+        },
+      ],
+      "displayTime": "A String", # The time that should be displayed when this item is viewed in the timeline, formatted according to RFC 3339. This user's timeline is sorted chronologically on display time, so this will also determine where the item is displayed in the timeline. If not set by the service, the display time defaults to the updated time.
+      "creator": { # A person or group that can be used as a creator or a contact. # The user or group that created this item.
+          "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+          "displayName": "A String", # The name to display for this contact.
+          "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+            "A String",
+          ],
+          "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+              # - INDIVIDUAL - Represents a single person. This is the default.
+              # - GROUP - Represents more than a single person.
+          "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+          "source": "A String", # The ID of the application that created this contact. This is populated by the API
+          "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+          "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+            "A String",
+          ],
+          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+        },
+      "text": "A String", # Text content of this item.
+      "menuItems": [ # A list of menu items that will be presented to the user when this item is selected in the timeline.
+        { # A custom menu item that can be presented to the user by a timeline item.
+          "action": "A String", # Controls the behavior when the user picks the menu option. Allowed values are:
+              # - CUSTOM - Custom action set by the service. When the user selects this menuItem, the API triggers a notification to your callbackUrl with the userActions.type set to CUSTOM and the userActions.payload set to the ID of this menu item. This is the default value.
+              # - Built-in actions:
+              # - REPLY - Initiate a reply to the timeline item using the voice recording UI. The creator attribute must be set in the timeline item for this menu to be available.
+              # - REPLY_ALL - Same behavior as REPLY. The original timeline item's recipients will be added to the reply item.
+              # - DELETE - Delete the timeline item.
+              # - SHARE - Share the timeline item with the available contacts.
+              # - READ_ALOUD - Read the timeline item's speakableText aloud; if this field is not set, read the text field; if none of those fields are set, this menu item is ignored.
+              # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phone_number attribute as recipient.
+              # - NAVIGATE - Navigate to the timeline item's location.
+              # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
+          "removeWhenSelected": True or False, # If set to true on a CUSTOM menu item, that item will be removed from the menu after it is selected.
+          "values": [ # For CUSTOM items, a list of values controlling the appearance of the menu item in each of its states. A value for the DEFAULT state must be provided. If the PENDING or CONFIRMED states are missing, they will not be shown.
+            { # A single value that is part of a MenuItem.
+              "iconUrl": "A String", # URL of an icon to display with the menu item.
+              "state": "A String", # The state that this value applies to. Allowed values are:
+                  # - DEFAULT - Default value shown when displayed in the menuItems list.
+                  # - PENDING - Value shown when the menuItem has been selected by the user but can still be cancelled.
+                  # - CONFIRMED - Value shown when the menuItem has been selected by the user and can no longer be cancelled.
+              "displayName": "A String", # The name to display for the menu item.
+            },
+          ],
+          "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
+        },
+      ],
+      "isBundleCover": True or False, # Whether this item is a bundle cover.
+          #
+          # If an item is marked as a bundle cover, it will be the entry point to the bundle of items that have the same bundleId as that item. It will be shown only on the main timeline — not within the opened bundle.
+          #
+          # On the main timeline, items that are shown are:
+          # - Items that have isBundleCover set to true
+          # - Items that do not have a bundleId  In a bundle sub-timeline, items that are shown are:
+          # - Items that have the bundleId in question AND isBundleCover set to false
+      "etag": "A String", # ETag for this item.
+      "id": "A String", # The ID of the timeline item. This is unique within a user's timeline.
+      "isDeleted": True or False, # When true, indicates this item is deleted, and only the ID property is set.
+      "bundleId": "A String", # The bundle ID for this item. Services can specify a bundleId to group many items together. They appear under a single top-level item on the device.
+      "isPinned": True or False, # When true, indicates this item is pinned, which means it's grouped alongside "active" items like navigation and hangouts, on the opposite side of the home screen from historical (non-pinned) timeline items. You can allow the user to toggle the value of this property with the TOGGLE_PINNED built-in menu item.
+      "title": "A String", # The title of this item.
+      "notification": { # Controls how notifications for a timeline item are presented to the user. # Controls how notifications for this item are presented on the device. If this is missing, no notification will be generated.
+        "level": "A String", # Describes how important the notification is. Allowed values are:
+            # - DEFAULT - Notifications of default importance. A chime will be played to alert users.
+        "deliveryTime": "A String", # The time at which the notification should be delivered.
+      },
+      "speakableText": "A String", # The speakable version of the content of this item. Along with the READ_ALOUD menu item, use this field to provide text that would be clearer when read aloud, or to provide extended information to what is displayed visually on Glass.
+          #
+          # Glassware should also specify the speakableType field, which will be spoken before this text in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
+      "html": "A String", # HTML content for this item. If both text and html are provided for an item, the html will be rendered in the timeline.
+          # Allowed HTML elements - You can use these elements in your timeline cards.
+          #
+          # - Headers: h1, h2, h3, h4, h5, h6
+          # - Images: img
+          # - Lists: li, ol, ul
+          # - HTML5 semantics: article, aside, details, figure, figcaption, footer, header, nav, section, summary, time
+          # - Structural: blockquote, br, div, hr, p, span
+          # - Style: b, big, center, em, i, u, s, small, strike, strong, style, sub, sup
+          # - Tables: table, tbody, td, tfoot, th, thead, tr
+          # Blocked HTML elements: These elements and their contents are removed from HTML payloads.
+          #
+          # - Document headers: head, title
+          # - Embeds: audio, embed, object, source, video
+          # - Frames: frame, frameset
+          # - Scripting: applet, script
+          # Other elements: Any elements that aren't listed are removed, but their contents are preserved.
+      "location": { # A geographic location that can be associated with a timeline item. # The geographic location associated with this item.
+        "kind": "mirror#location", # The type of resource. This is always mirror#location.
+        "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
+        "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
+        "longitude": 3.14, # The longitude, in degrees.
+        "address": "A String", # The full address of the location.
+        "latitude": 3.14, # The latitude, in degrees.
+        "id": "A String", # The ID of the location.
+        "accuracy": 3.14, # The accuracy of the location fix in meters.
+      },
+      "sourceItemId": "A String", # Opaque string you can use to map a timeline item to data in your own service.
+      "inReplyTo": "A String", # If this item was generated as a reply to another item, this field will be set to the ID of the item being replied to. This can be used to attach a reply to the appropriate conversation or post.
+      "updated": "A String", # The time at which this item was last modified, formatted according to RFC 3339.
+      "canonicalUrl": "A String", # A canonical URL pointing to the canonical/high quality version of the data represented by the timeline item.
+      "recipients": [ # A list of users or groups that this item has been shared with.
+        { # A person or group that can be used as a creator or a contact.
+            "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+            "displayName": "A String", # The name to display for this contact.
+            "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+              "A String",
+            ],
+            "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+                # - INDIVIDUAL - Represents a single person. This is the default.
+                # - GROUP - Represents more than a single person.
+            "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+            "source": "A String", # The ID of the application that created this contact. This is populated by the API
+            "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+            "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+              "A String",
+            ],
+            "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+          },
+      ],
+      "kind": "mirror#timelineItem", # The type of resource. This is always mirror#timelineItem.
+      "created": "A String", # The time at which this item was created, formatted according to RFC 3339.
+      "htmlPages": [ # Additional pages of HTML content associated with this item. If this field is specified, the item will be displayed as a bundle, with the html field as the cover. It is an error to specify this field without specifying the html field.
+        "A String",
+      ],
+      "pinScore": 42, # For pinned items, this determines the order in which the item is displayed in the timeline, with a higher score appearing closer to the clock. Note: setting this field is currently not supported.
+      "speakableType": "A String", # A speakable description of the type of this item. This will be announced to the user prior to reading the content of the item in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
+          #
+          # This should be a short, simple noun phrase such as "Email", "Text message", or "Daily Planet News Update".
+          #
+          # Glassware are encouraged to populate this field for every timeline item, even if the item does not contain speakableText or text so that the user can learn the type of the item without looking at the screen.
+      "selfLink": "A String", # A URL that can be used to retrieve this item.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(orderBy=None, includeDeleted=None, pageToken=None, maxResults=None, pinnedOnly=None, sourceItemId=None, bundleId=None)</code>
+  <pre>Retrieves a list of timeline items for the authenticated user.
+
+Args:
+  orderBy: string, Controls the order in which timeline items are returned.
+    Allowed values
+      displayTime - Results will be ordered by displayTime (default). This is the same ordering as is used in the timeline on the device.
+      writeTime - Results will be ordered by the time at which they were last written to the data store.
+  includeDeleted: boolean, If true, tombstone records for deleted items will be returned.
+  pageToken: string, Token for the page of results to return.
+  maxResults: integer, The maximum number of items to include in the response, used for paging.
+  pinnedOnly: boolean, If true, only pinned items will be returned.
+  sourceItemId: string, If provided, only items with the given sourceItemId will be returned.
+  bundleId: string, If provided, only items with the given bundleId will be returned.
+
+Returns:
+  An object of the form:
+
+    { # A list of timeline items. This is the response from the server to GET requests on the timeline collection.
+    "nextPageToken": "A String", # The next page token. Provide this as the pageToken parameter in the request to retrieve the next page of results.
+    "items": [ # Items in the timeline.
+      { # Each item in the user's timeline is represented as a TimelineItem JSON structure, described below.
+          "attachments": [ # A list of media attachments associated with this item. As a convenience, you can refer to attachments in your HTML payloads with the attachment or cid scheme. For example:
+              # - attachment: <img src="attachment:attachment_index"> where attachment_index is the 0-based index of this array.
+              # - cid: <img src="cid:attachment_id"> where attachment_id is the ID of the attachment.
+            { # Represents media content, such as a photo, that can be attached to a timeline item.
+              "contentUrl": "A String", # The URL for the content.
+              "contentType": "A String", # The MIME type of the attachment.
+              "id": "A String", # The ID of the attachment.
+              "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
+            },
+          ],
+          "displayTime": "A String", # The time that should be displayed when this item is viewed in the timeline, formatted according to RFC 3339. This user's timeline is sorted chronologically on display time, so this will also determine where the item is displayed in the timeline. If not set by the service, the display time defaults to the updated time.
+          "creator": { # A person or group that can be used as a creator or a contact. # The user or group that created this item.
+              "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+              "displayName": "A String", # The name to display for this contact.
+              "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+                "A String",
+              ],
+              "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+                  # - INDIVIDUAL - Represents a single person. This is the default.
+                  # - GROUP - Represents more than a single person.
+              "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+              "source": "A String", # The ID of the application that created this contact. This is populated by the API
+              "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+              "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+                "A String",
+              ],
+              "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+            },
+          "text": "A String", # Text content of this item.
+          "menuItems": [ # A list of menu items that will be presented to the user when this item is selected in the timeline.
+            { # A custom menu item that can be presented to the user by a timeline item.
+              "action": "A String", # Controls the behavior when the user picks the menu option. Allowed values are:
+                  # - CUSTOM - Custom action set by the service. When the user selects this menuItem, the API triggers a notification to your callbackUrl with the userActions.type set to CUSTOM and the userActions.payload set to the ID of this menu item. This is the default value.
+                  # - Built-in actions:
+                  # - REPLY - Initiate a reply to the timeline item using the voice recording UI. The creator attribute must be set in the timeline item for this menu to be available.
+                  # - REPLY_ALL - Same behavior as REPLY. The original timeline item's recipients will be added to the reply item.
+                  # - DELETE - Delete the timeline item.
+                  # - SHARE - Share the timeline item with the available contacts.
+                  # - READ_ALOUD - Read the timeline item's speakableText aloud; if this field is not set, read the text field; if none of those fields are set, this menu item is ignored.
+                  # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phone_number attribute as recipient.
+                  # - NAVIGATE - Navigate to the timeline item's location.
+                  # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
+              "removeWhenSelected": True or False, # If set to true on a CUSTOM menu item, that item will be removed from the menu after it is selected.
+              "values": [ # For CUSTOM items, a list of values controlling the appearance of the menu item in each of its states. A value for the DEFAULT state must be provided. If the PENDING or CONFIRMED states are missing, they will not be shown.
+                { # A single value that is part of a MenuItem.
+                  "iconUrl": "A String", # URL of an icon to display with the menu item.
+                  "state": "A String", # The state that this value applies to. Allowed values are:
+                      # - DEFAULT - Default value shown when displayed in the menuItems list.
+                      # - PENDING - Value shown when the menuItem has been selected by the user but can still be cancelled.
+                      # - CONFIRMED - Value shown when the menuItem has been selected by the user and can no longer be cancelled.
+                  "displayName": "A String", # The name to display for the menu item.
+                },
+              ],
+              "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
+            },
+          ],
+          "isBundleCover": True or False, # Whether this item is a bundle cover.
+              #
+              # If an item is marked as a bundle cover, it will be the entry point to the bundle of items that have the same bundleId as that item. It will be shown only on the main timeline — not within the opened bundle.
+              #
+              # On the main timeline, items that are shown are:
+              # - Items that have isBundleCover set to true
+              # - Items that do not have a bundleId  In a bundle sub-timeline, items that are shown are:
+              # - Items that have the bundleId in question AND isBundleCover set to false
+          "etag": "A String", # ETag for this item.
+          "id": "A String", # The ID of the timeline item. This is unique within a user's timeline.
+          "isDeleted": True or False, # When true, indicates this item is deleted, and only the ID property is set.
+          "bundleId": "A String", # The bundle ID for this item. Services can specify a bundleId to group many items together. They appear under a single top-level item on the device.
+          "isPinned": True or False, # When true, indicates this item is pinned, which means it's grouped alongside "active" items like navigation and hangouts, on the opposite side of the home screen from historical (non-pinned) timeline items. You can allow the user to toggle the value of this property with the TOGGLE_PINNED built-in menu item.
+          "title": "A String", # The title of this item.
+          "notification": { # Controls how notifications for a timeline item are presented to the user. # Controls how notifications for this item are presented on the device. If this is missing, no notification will be generated.
+            "level": "A String", # Describes how important the notification is. Allowed values are:
+                # - DEFAULT - Notifications of default importance. A chime will be played to alert users.
+            "deliveryTime": "A String", # The time at which the notification should be delivered.
+          },
+          "speakableText": "A String", # The speakable version of the content of this item. Along with the READ_ALOUD menu item, use this field to provide text that would be clearer when read aloud, or to provide extended information to what is displayed visually on Glass.
+              #
+              # Glassware should also specify the speakableType field, which will be spoken before this text in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
+          "html": "A String", # HTML content for this item. If both text and html are provided for an item, the html will be rendered in the timeline.
+              # Allowed HTML elements - You can use these elements in your timeline cards.
+              #
+              # - Headers: h1, h2, h3, h4, h5, h6
+              # - Images: img
+              # - Lists: li, ol, ul
+              # - HTML5 semantics: article, aside, details, figure, figcaption, footer, header, nav, section, summary, time
+              # - Structural: blockquote, br, div, hr, p, span
+              # - Style: b, big, center, em, i, u, s, small, strike, strong, style, sub, sup
+              # - Tables: table, tbody, td, tfoot, th, thead, tr
+              # Blocked HTML elements: These elements and their contents are removed from HTML payloads.
+              #
+              # - Document headers: head, title
+              # - Embeds: audio, embed, object, source, video
+              # - Frames: frame, frameset
+              # - Scripting: applet, script
+              # Other elements: Any elements that aren't listed are removed, but their contents are preserved.
+          "location": { # A geographic location that can be associated with a timeline item. # The geographic location associated with this item.
+            "kind": "mirror#location", # The type of resource. This is always mirror#location.
+            "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
+            "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
+            "longitude": 3.14, # The longitude, in degrees.
+            "address": "A String", # The full address of the location.
+            "latitude": 3.14, # The latitude, in degrees.
+            "id": "A String", # The ID of the location.
+            "accuracy": 3.14, # The accuracy of the location fix in meters.
+          },
+          "sourceItemId": "A String", # Opaque string you can use to map a timeline item to data in your own service.
+          "inReplyTo": "A String", # If this item was generated as a reply to another item, this field will be set to the ID of the item being replied to. This can be used to attach a reply to the appropriate conversation or post.
+          "updated": "A String", # The time at which this item was last modified, formatted according to RFC 3339.
+          "canonicalUrl": "A String", # A canonical URL pointing to the canonical/high quality version of the data represented by the timeline item.
+          "recipients": [ # A list of users or groups that this item has been shared with.
+            { # A person or group that can be used as a creator or a contact.
+                "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+                "displayName": "A String", # The name to display for this contact.
+                "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+                  "A String",
+                ],
+                "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+                    # - INDIVIDUAL - Represents a single person. This is the default.
+                    # - GROUP - Represents more than a single person.
+                "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+                "source": "A String", # The ID of the application that created this contact. This is populated by the API
+                "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+                "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+                  "A String",
+                ],
+                "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+              },
+          ],
+          "kind": "mirror#timelineItem", # The type of resource. This is always mirror#timelineItem.
+          "created": "A String", # The time at which this item was created, formatted according to RFC 3339.
+          "htmlPages": [ # Additional pages of HTML content associated with this item. If this field is specified, the item will be displayed as a bundle, with the html field as the cover. It is an error to specify this field without specifying the html field.
+            "A String",
+          ],
+          "pinScore": 42, # For pinned items, this determines the order in which the item is displayed in the timeline, with a higher score appearing closer to the clock. Note: setting this field is currently not supported.
+          "speakableType": "A String", # A speakable description of the type of this item. This will be announced to the user prior to reading the content of the item in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
+              #
+              # This should be a short, simple noun phrase such as "Email", "Text message", or "Daily Planet News Update".
+              #
+              # Glassware are encouraged to populate this field for every timeline item, even if the item does not contain speakableText or text so that the user can learn the type of the item without looking at the screen.
+          "selfLink": "A String", # A URL that can be used to retrieve this item.
+        },
+    ],
+    "kind": "mirror#timeline", # The type of resource. This is always mirror#timeline.
+  }</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="patch">patch(id, body)</code>
+  <pre>Updates a timeline item in place. This method supports patch semantics.
+
+Args:
+  id: string, The ID of the timeline item. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Each item in the user's timeline is represented as a TimelineItem JSON structure, described below.
+    "attachments": [ # A list of media attachments associated with this item. As a convenience, you can refer to attachments in your HTML payloads with the attachment or cid scheme. For example:
+        # - attachment: <img src="attachment:attachment_index"> where attachment_index is the 0-based index of this array.
+        # - cid: <img src="cid:attachment_id"> where attachment_id is the ID of the attachment.
+      { # Represents media content, such as a photo, that can be attached to a timeline item.
+        "contentUrl": "A String", # The URL for the content.
+        "contentType": "A String", # The MIME type of the attachment.
+        "id": "A String", # The ID of the attachment.
+        "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
+      },
+    ],
+    "displayTime": "A String", # The time that should be displayed when this item is viewed in the timeline, formatted according to RFC 3339. This user's timeline is sorted chronologically on display time, so this will also determine where the item is displayed in the timeline. If not set by the service, the display time defaults to the updated time.
+    "creator": { # A person or group that can be used as a creator or a contact. # The user or group that created this item.
+        "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+        "displayName": "A String", # The name to display for this contact.
+        "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+          "A String",
+        ],
+        "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+            # - INDIVIDUAL - Represents a single person. This is the default.
+            # - GROUP - Represents more than a single person.
+        "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+        "source": "A String", # The ID of the application that created this contact. This is populated by the API
+        "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+        "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+          "A String",
+        ],
+        "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+      },
+    "text": "A String", # Text content of this item.
+    "menuItems": [ # A list of menu items that will be presented to the user when this item is selected in the timeline.
+      { # A custom menu item that can be presented to the user by a timeline item.
+        "action": "A String", # Controls the behavior when the user picks the menu option. Allowed values are:
+            # - CUSTOM - Custom action set by the service. When the user selects this menuItem, the API triggers a notification to your callbackUrl with the userActions.type set to CUSTOM and the userActions.payload set to the ID of this menu item. This is the default value.
+            # - Built-in actions:
+            # - REPLY - Initiate a reply to the timeline item using the voice recording UI. The creator attribute must be set in the timeline item for this menu to be available.
+            # - REPLY_ALL - Same behavior as REPLY. The original timeline item's recipients will be added to the reply item.
+            # - DELETE - Delete the timeline item.
+            # - SHARE - Share the timeline item with the available contacts.
+            # - READ_ALOUD - Read the timeline item's speakableText aloud; if this field is not set, read the text field; if none of those fields are set, this menu item is ignored.
+            # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phone_number attribute as recipient.
+            # - NAVIGATE - Navigate to the timeline item's location.
+            # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
+        "removeWhenSelected": True or False, # If set to true on a CUSTOM menu item, that item will be removed from the menu after it is selected.
+        "values": [ # For CUSTOM items, a list of values controlling the appearance of the menu item in each of its states. A value for the DEFAULT state must be provided. If the PENDING or CONFIRMED states are missing, they will not be shown.
+          { # A single value that is part of a MenuItem.
+            "iconUrl": "A String", # URL of an icon to display with the menu item.
+            "state": "A String", # The state that this value applies to. Allowed values are:
+                # - DEFAULT - Default value shown when displayed in the menuItems list.
+                # - PENDING - Value shown when the menuItem has been selected by the user but can still be cancelled.
+                # - CONFIRMED - Value shown when the menuItem has been selected by the user and can no longer be cancelled.
+            "displayName": "A String", # The name to display for the menu item.
+          },
+        ],
+        "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
+      },
+    ],
+    "isBundleCover": True or False, # Whether this item is a bundle cover.
+        # 
+        # If an item is marked as a bundle cover, it will be the entry point to the bundle of items that have the same bundleId as that item. It will be shown only on the main timeline — not within the opened bundle.
+        # 
+        # On the main timeline, items that are shown are:
+        # - Items that have isBundleCover set to true
+        # - Items that do not have a bundleId  In a bundle sub-timeline, items that are shown are:
+        # - Items that have the bundleId in question AND isBundleCover set to false
+    "etag": "A String", # ETag for this item.
+    "id": "A String", # The ID of the timeline item. This is unique within a user's timeline.
+    "isDeleted": True or False, # When true, indicates this item is deleted, and only the ID property is set.
+    "bundleId": "A String", # The bundle ID for this item. Services can specify a bundleId to group many items together. They appear under a single top-level item on the device.
+    "isPinned": True or False, # When true, indicates this item is pinned, which means it's grouped alongside "active" items like navigation and hangouts, on the opposite side of the home screen from historical (non-pinned) timeline items. You can allow the user to toggle the value of this property with the TOGGLE_PINNED built-in menu item.
+    "title": "A String", # The title of this item.
+    "notification": { # Controls how notifications for a timeline item are presented to the user. # Controls how notifications for this item are presented on the device. If this is missing, no notification will be generated.
+      "level": "A String", # Describes how important the notification is. Allowed values are:
+          # - DEFAULT - Notifications of default importance. A chime will be played to alert users.
+      "deliveryTime": "A String", # The time at which the notification should be delivered.
+    },
+    "speakableText": "A String", # The speakable version of the content of this item. Along with the READ_ALOUD menu item, use this field to provide text that would be clearer when read aloud, or to provide extended information to what is displayed visually on Glass.
+        # 
+        # Glassware should also specify the speakableType field, which will be spoken before this text in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
+    "html": "A String", # HTML content for this item. If both text and html are provided for an item, the html will be rendered in the timeline.
+        # Allowed HTML elements - You can use these elements in your timeline cards.
+        # 
+        # - Headers: h1, h2, h3, h4, h5, h6
+        # - Images: img
+        # - Lists: li, ol, ul
+        # - HTML5 semantics: article, aside, details, figure, figcaption, footer, header, nav, section, summary, time
+        # - Structural: blockquote, br, div, hr, p, span
+        # - Style: b, big, center, em, i, u, s, small, strike, strong, style, sub, sup
+        # - Tables: table, tbody, td, tfoot, th, thead, tr
+        # Blocked HTML elements: These elements and their contents are removed from HTML payloads.
+        # 
+        # - Document headers: head, title
+        # - Embeds: audio, embed, object, source, video
+        # - Frames: frame, frameset
+        # - Scripting: applet, script
+        # Other elements: Any elements that aren't listed are removed, but their contents are preserved.
+    "location": { # A geographic location that can be associated with a timeline item. # The geographic location associated with this item.
+      "kind": "mirror#location", # The type of resource. This is always mirror#location.
+      "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
+      "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
+      "longitude": 3.14, # The longitude, in degrees.
+      "address": "A String", # The full address of the location.
+      "latitude": 3.14, # The latitude, in degrees.
+      "id": "A String", # The ID of the location.
+      "accuracy": 3.14, # The accuracy of the location fix in meters.
+    },
+    "sourceItemId": "A String", # Opaque string you can use to map a timeline item to data in your own service.
+    "inReplyTo": "A String", # If this item was generated as a reply to another item, this field will be set to the ID of the item being replied to. This can be used to attach a reply to the appropriate conversation or post.
+    "updated": "A String", # The time at which this item was last modified, formatted according to RFC 3339.
+    "canonicalUrl": "A String", # A canonical URL pointing to the canonical/high quality version of the data represented by the timeline item.
+    "recipients": [ # A list of users or groups that this item has been shared with.
+      { # A person or group that can be used as a creator or a contact.
+          "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+          "displayName": "A String", # The name to display for this contact.
+          "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+            "A String",
+          ],
+          "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+              # - INDIVIDUAL - Represents a single person. This is the default.
+              # - GROUP - Represents more than a single person.
+          "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+          "source": "A String", # The ID of the application that created this contact. This is populated by the API
+          "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+          "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+            "A String",
+          ],
+          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+        },
+    ],
+    "kind": "mirror#timelineItem", # The type of resource. This is always mirror#timelineItem.
+    "created": "A String", # The time at which this item was created, formatted according to RFC 3339.
+    "htmlPages": [ # Additional pages of HTML content associated with this item. If this field is specified, the item will be displayed as a bundle, with the html field as the cover. It is an error to specify this field without specifying the html field.
+      "A String",
+    ],
+    "pinScore": 42, # For pinned items, this determines the order in which the item is displayed in the timeline, with a higher score appearing closer to the clock. Note: setting this field is currently not supported.
+    "speakableType": "A String", # A speakable description of the type of this item. This will be announced to the user prior to reading the content of the item in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
+        # 
+        # This should be a short, simple noun phrase such as "Email", "Text message", or "Daily Planet News Update".
+        # 
+        # Glassware are encouraged to populate this field for every timeline item, even if the item does not contain speakableText or text so that the user can learn the type of the item without looking at the screen.
+    "selfLink": "A String", # A URL that can be used to retrieve this item.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Each item in the user's timeline is represented as a TimelineItem JSON structure, described below.
+      "attachments": [ # A list of media attachments associated with this item. As a convenience, you can refer to attachments in your HTML payloads with the attachment or cid scheme. For example:
+          # - attachment: <img src="attachment:attachment_index"> where attachment_index is the 0-based index of this array.
+          # - cid: <img src="cid:attachment_id"> where attachment_id is the ID of the attachment.
+        { # Represents media content, such as a photo, that can be attached to a timeline item.
+          "contentUrl": "A String", # The URL for the content.
+          "contentType": "A String", # The MIME type of the attachment.
+          "id": "A String", # The ID of the attachment.
+          "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
+        },
+      ],
+      "displayTime": "A String", # The time that should be displayed when this item is viewed in the timeline, formatted according to RFC 3339. This user's timeline is sorted chronologically on display time, so this will also determine where the item is displayed in the timeline. If not set by the service, the display time defaults to the updated time.
+      "creator": { # A person or group that can be used as a creator or a contact. # The user or group that created this item.
+          "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+          "displayName": "A String", # The name to display for this contact.
+          "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+            "A String",
+          ],
+          "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+              # - INDIVIDUAL - Represents a single person. This is the default.
+              # - GROUP - Represents more than a single person.
+          "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+          "source": "A String", # The ID of the application that created this contact. This is populated by the API
+          "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+          "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+            "A String",
+          ],
+          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+        },
+      "text": "A String", # Text content of this item.
+      "menuItems": [ # A list of menu items that will be presented to the user when this item is selected in the timeline.
+        { # A custom menu item that can be presented to the user by a timeline item.
+          "action": "A String", # Controls the behavior when the user picks the menu option. Allowed values are:
+              # - CUSTOM - Custom action set by the service. When the user selects this menuItem, the API triggers a notification to your callbackUrl with the userActions.type set to CUSTOM and the userActions.payload set to the ID of this menu item. This is the default value.
+              # - Built-in actions:
+              # - REPLY - Initiate a reply to the timeline item using the voice recording UI. The creator attribute must be set in the timeline item for this menu to be available.
+              # - REPLY_ALL - Same behavior as REPLY. The original timeline item's recipients will be added to the reply item.
+              # - DELETE - Delete the timeline item.
+              # - SHARE - Share the timeline item with the available contacts.
+              # - READ_ALOUD - Read the timeline item's speakableText aloud; if this field is not set, read the text field; if none of those fields are set, this menu item is ignored.
+              # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phone_number attribute as recipient.
+              # - NAVIGATE - Navigate to the timeline item's location.
+              # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
+          "removeWhenSelected": True or False, # If set to true on a CUSTOM menu item, that item will be removed from the menu after it is selected.
+          "values": [ # For CUSTOM items, a list of values controlling the appearance of the menu item in each of its states. A value for the DEFAULT state must be provided. If the PENDING or CONFIRMED states are missing, they will not be shown.
+            { # A single value that is part of a MenuItem.
+              "iconUrl": "A String", # URL of an icon to display with the menu item.
+              "state": "A String", # The state that this value applies to. Allowed values are:
+                  # - DEFAULT - Default value shown when displayed in the menuItems list.
+                  # - PENDING - Value shown when the menuItem has been selected by the user but can still be cancelled.
+                  # - CONFIRMED - Value shown when the menuItem has been selected by the user and can no longer be cancelled.
+              "displayName": "A String", # The name to display for the menu item.
+            },
+          ],
+          "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
+        },
+      ],
+      "isBundleCover": True or False, # Whether this item is a bundle cover.
+          #
+          # If an item is marked as a bundle cover, it will be the entry point to the bundle of items that have the same bundleId as that item. It will be shown only on the main timeline — not within the opened bundle.
+          #
+          # On the main timeline, items that are shown are:
+          # - Items that have isBundleCover set to true
+          # - Items that do not have a bundleId  In a bundle sub-timeline, items that are shown are:
+          # - Items that have the bundleId in question AND isBundleCover set to false
+      "etag": "A String", # ETag for this item.
+      "id": "A String", # The ID of the timeline item. This is unique within a user's timeline.
+      "isDeleted": True or False, # When true, indicates this item is deleted, and only the ID property is set.
+      "bundleId": "A String", # The bundle ID for this item. Services can specify a bundleId to group many items together. They appear under a single top-level item on the device.
+      "isPinned": True or False, # When true, indicates this item is pinned, which means it's grouped alongside "active" items like navigation and hangouts, on the opposite side of the home screen from historical (non-pinned) timeline items. You can allow the user to toggle the value of this property with the TOGGLE_PINNED built-in menu item.
+      "title": "A String", # The title of this item.
+      "notification": { # Controls how notifications for a timeline item are presented to the user. # Controls how notifications for this item are presented on the device. If this is missing, no notification will be generated.
+        "level": "A String", # Describes how important the notification is. Allowed values are:
+            # - DEFAULT - Notifications of default importance. A chime will be played to alert users.
+        "deliveryTime": "A String", # The time at which the notification should be delivered.
+      },
+      "speakableText": "A String", # The speakable version of the content of this item. Along with the READ_ALOUD menu item, use this field to provide text that would be clearer when read aloud, or to provide extended information to what is displayed visually on Glass.
+          #
+          # Glassware should also specify the speakableType field, which will be spoken before this text in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
+      "html": "A String", # HTML content for this item. If both text and html are provided for an item, the html will be rendered in the timeline.
+          # Allowed HTML elements - You can use these elements in your timeline cards.
+          #
+          # - Headers: h1, h2, h3, h4, h5, h6
+          # - Images: img
+          # - Lists: li, ol, ul
+          # - HTML5 semantics: article, aside, details, figure, figcaption, footer, header, nav, section, summary, time
+          # - Structural: blockquote, br, div, hr, p, span
+          # - Style: b, big, center, em, i, u, s, small, strike, strong, style, sub, sup
+          # - Tables: table, tbody, td, tfoot, th, thead, tr
+          # Blocked HTML elements: These elements and their contents are removed from HTML payloads.
+          #
+          # - Document headers: head, title
+          # - Embeds: audio, embed, object, source, video
+          # - Frames: frame, frameset
+          # - Scripting: applet, script
+          # Other elements: Any elements that aren't listed are removed, but their contents are preserved.
+      "location": { # A geographic location that can be associated with a timeline item. # The geographic location associated with this item.
+        "kind": "mirror#location", # The type of resource. This is always mirror#location.
+        "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
+        "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
+        "longitude": 3.14, # The longitude, in degrees.
+        "address": "A String", # The full address of the location.
+        "latitude": 3.14, # The latitude, in degrees.
+        "id": "A String", # The ID of the location.
+        "accuracy": 3.14, # The accuracy of the location fix in meters.
+      },
+      "sourceItemId": "A String", # Opaque string you can use to map a timeline item to data in your own service.
+      "inReplyTo": "A String", # If this item was generated as a reply to another item, this field will be set to the ID of the item being replied to. This can be used to attach a reply to the appropriate conversation or post.
+      "updated": "A String", # The time at which this item was last modified, formatted according to RFC 3339.
+      "canonicalUrl": "A String", # A canonical URL pointing to the canonical/high quality version of the data represented by the timeline item.
+      "recipients": [ # A list of users or groups that this item has been shared with.
+        { # A person or group that can be used as a creator or a contact.
+            "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+            "displayName": "A String", # The name to display for this contact.
+            "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+              "A String",
+            ],
+            "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+                # - INDIVIDUAL - Represents a single person. This is the default.
+                # - GROUP - Represents more than a single person.
+            "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+            "source": "A String", # The ID of the application that created this contact. This is populated by the API
+            "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+            "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+              "A String",
+            ],
+            "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+          },
+      ],
+      "kind": "mirror#timelineItem", # The type of resource. This is always mirror#timelineItem.
+      "created": "A String", # The time at which this item was created, formatted according to RFC 3339.
+      "htmlPages": [ # Additional pages of HTML content associated with this item. If this field is specified, the item will be displayed as a bundle, with the html field as the cover. It is an error to specify this field without specifying the html field.
+        "A String",
+      ],
+      "pinScore": 42, # For pinned items, this determines the order in which the item is displayed in the timeline, with a higher score appearing closer to the clock. Note: setting this field is currently not supported.
+      "speakableType": "A String", # A speakable description of the type of this item. This will be announced to the user prior to reading the content of the item in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
+          #
+          # This should be a short, simple noun phrase such as "Email", "Text message", or "Daily Planet News Update".
+          #
+          # Glassware are encouraged to populate this field for every timeline item, even if the item does not contain speakableText or text so that the user can learn the type of the item without looking at the screen.
+      "selfLink": "A String", # A URL that can be used to retrieve this item.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(id, body=None, media_body=None)</code>
+  <pre>Updates a timeline item in place.
+
+Args:
+  id: string, The ID of the timeline item. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Each item in the user's timeline is represented as a TimelineItem JSON structure, described below.
+    "attachments": [ # A list of media attachments associated with this item. As a convenience, you can refer to attachments in your HTML payloads with the attachment or cid scheme. For example:
+        # - attachment: <img src="attachment:attachment_index"> where attachment_index is the 0-based index of this array.
+        # - cid: <img src="cid:attachment_id"> where attachment_id is the ID of the attachment.
+      { # Represents media content, such as a photo, that can be attached to a timeline item.
+        "contentUrl": "A String", # The URL for the content.
+        "contentType": "A String", # The MIME type of the attachment.
+        "id": "A String", # The ID of the attachment.
+        "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
+      },
+    ],
+    "displayTime": "A String", # The time that should be displayed when this item is viewed in the timeline, formatted according to RFC 3339. This user's timeline is sorted chronologically on display time, so this will also determine where the item is displayed in the timeline. If not set by the service, the display time defaults to the updated time.
+    "creator": { # A person or group that can be used as a creator or a contact. # The user or group that created this item.
+        "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+        "displayName": "A String", # The name to display for this contact.
+        "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+          "A String",
+        ],
+        "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+            # - INDIVIDUAL - Represents a single person. This is the default.
+            # - GROUP - Represents more than a single person.
+        "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+        "source": "A String", # The ID of the application that created this contact. This is populated by the API
+        "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+        "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+          "A String",
+        ],
+        "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+      },
+    "text": "A String", # Text content of this item.
+    "menuItems": [ # A list of menu items that will be presented to the user when this item is selected in the timeline.
+      { # A custom menu item that can be presented to the user by a timeline item.
+        "action": "A String", # Controls the behavior when the user picks the menu option. Allowed values are:
+            # - CUSTOM - Custom action set by the service. When the user selects this menuItem, the API triggers a notification to your callbackUrl with the userActions.type set to CUSTOM and the userActions.payload set to the ID of this menu item. This is the default value.
+            # - Built-in actions:
+            # - REPLY - Initiate a reply to the timeline item using the voice recording UI. The creator attribute must be set in the timeline item for this menu to be available.
+            # - REPLY_ALL - Same behavior as REPLY. The original timeline item's recipients will be added to the reply item.
+            # - DELETE - Delete the timeline item.
+            # - SHARE - Share the timeline item with the available contacts.
+            # - READ_ALOUD - Read the timeline item's speakableText aloud; if this field is not set, read the text field; if none of those fields are set, this menu item is ignored.
+            # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phone_number attribute as recipient.
+            # - NAVIGATE - Navigate to the timeline item's location.
+            # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
+        "removeWhenSelected": True or False, # If set to true on a CUSTOM menu item, that item will be removed from the menu after it is selected.
+        "values": [ # For CUSTOM items, a list of values controlling the appearance of the menu item in each of its states. A value for the DEFAULT state must be provided. If the PENDING or CONFIRMED states are missing, they will not be shown.
+          { # A single value that is part of a MenuItem.
+            "iconUrl": "A String", # URL of an icon to display with the menu item.
+            "state": "A String", # The state that this value applies to. Allowed values are:
+                # - DEFAULT - Default value shown when displayed in the menuItems list.
+                # - PENDING - Value shown when the menuItem has been selected by the user but can still be cancelled.
+                # - CONFIRMED - Value shown when the menuItem has been selected by the user and can no longer be cancelled.
+            "displayName": "A String", # The name to display for the menu item.
+          },
+        ],
+        "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
+      },
+    ],
+    "isBundleCover": True or False, # Whether this item is a bundle cover.
+        # 
+        # If an item is marked as a bundle cover, it will be the entry point to the bundle of items that have the same bundleId as that item. It will be shown only on the main timeline — not within the opened bundle.
+        # 
+        # On the main timeline, items that are shown are:
+        # - Items that have isBundleCover set to true
+        # - Items that do not have a bundleId  In a bundle sub-timeline, items that are shown are:
+        # - Items that have the bundleId in question AND isBundleCover set to false
+    "etag": "A String", # ETag for this item.
+    "id": "A String", # The ID of the timeline item. This is unique within a user's timeline.
+    "isDeleted": True or False, # When true, indicates this item is deleted, and only the ID property is set.
+    "bundleId": "A String", # The bundle ID for this item. Services can specify a bundleId to group many items together. They appear under a single top-level item on the device.
+    "isPinned": True or False, # When true, indicates this item is pinned, which means it's grouped alongside "active" items like navigation and hangouts, on the opposite side of the home screen from historical (non-pinned) timeline items. You can allow the user to toggle the value of this property with the TOGGLE_PINNED built-in menu item.
+    "title": "A String", # The title of this item.
+    "notification": { # Controls how notifications for a timeline item are presented to the user. # Controls how notifications for this item are presented on the device. If this is missing, no notification will be generated.
+      "level": "A String", # Describes how important the notification is. Allowed values are:
+          # - DEFAULT - Notifications of default importance. A chime will be played to alert users.
+      "deliveryTime": "A String", # The time at which the notification should be delivered.
+    },
+    "speakableText": "A String", # The speakable version of the content of this item. Along with the READ_ALOUD menu item, use this field to provide text that would be clearer when read aloud, or to provide extended information to what is displayed visually on Glass.
+        # 
+        # Glassware should also specify the speakableType field, which will be spoken before this text in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
+    "html": "A String", # HTML content for this item. If both text and html are provided for an item, the html will be rendered in the timeline.
+        # Allowed HTML elements - You can use these elements in your timeline cards.
+        # 
+        # - Headers: h1, h2, h3, h4, h5, h6
+        # - Images: img
+        # - Lists: li, ol, ul
+        # - HTML5 semantics: article, aside, details, figure, figcaption, footer, header, nav, section, summary, time
+        # - Structural: blockquote, br, div, hr, p, span
+        # - Style: b, big, center, em, i, u, s, small, strike, strong, style, sub, sup
+        # - Tables: table, tbody, td, tfoot, th, thead, tr
+        # Blocked HTML elements: These elements and their contents are removed from HTML payloads.
+        # 
+        # - Document headers: head, title
+        # - Embeds: audio, embed, object, source, video
+        # - Frames: frame, frameset
+        # - Scripting: applet, script
+        # Other elements: Any elements that aren't listed are removed, but their contents are preserved.
+    "location": { # A geographic location that can be associated with a timeline item. # The geographic location associated with this item.
+      "kind": "mirror#location", # The type of resource. This is always mirror#location.
+      "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
+      "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
+      "longitude": 3.14, # The longitude, in degrees.
+      "address": "A String", # The full address of the location.
+      "latitude": 3.14, # The latitude, in degrees.
+      "id": "A String", # The ID of the location.
+      "accuracy": 3.14, # The accuracy of the location fix in meters.
+    },
+    "sourceItemId": "A String", # Opaque string you can use to map a timeline item to data in your own service.
+    "inReplyTo": "A String", # If this item was generated as a reply to another item, this field will be set to the ID of the item being replied to. This can be used to attach a reply to the appropriate conversation or post.
+    "updated": "A String", # The time at which this item was last modified, formatted according to RFC 3339.
+    "canonicalUrl": "A String", # A canonical URL pointing to the canonical/high quality version of the data represented by the timeline item.
+    "recipients": [ # A list of users or groups that this item has been shared with.
+      { # A person or group that can be used as a creator or a contact.
+          "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+          "displayName": "A String", # The name to display for this contact.
+          "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+            "A String",
+          ],
+          "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+              # - INDIVIDUAL - Represents a single person. This is the default.
+              # - GROUP - Represents more than a single person.
+          "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+          "source": "A String", # The ID of the application that created this contact. This is populated by the API
+          "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+          "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+            "A String",
+          ],
+          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+        },
+    ],
+    "kind": "mirror#timelineItem", # The type of resource. This is always mirror#timelineItem.
+    "created": "A String", # The time at which this item was created, formatted according to RFC 3339.
+    "htmlPages": [ # Additional pages of HTML content associated with this item. If this field is specified, the item will be displayed as a bundle, with the html field as the cover. It is an error to specify this field without specifying the html field.
+      "A String",
+    ],
+    "pinScore": 42, # For pinned items, this determines the order in which the item is displayed in the timeline, with a higher score appearing closer to the clock. Note: setting this field is currently not supported.
+    "speakableType": "A String", # A speakable description of the type of this item. This will be announced to the user prior to reading the content of the item in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
+        # 
+        # This should be a short, simple noun phrase such as "Email", "Text message", or "Daily Planet News Update".
+        # 
+        # Glassware are encouraged to populate this field for every timeline item, even if the item does not contain speakableText or text so that the user can learn the type of the item without looking at the screen.
+    "selfLink": "A String", # A URL that can be used to retrieve this item.
+  }
+
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+
+Returns:
+  An object of the form:
+
+    { # Each item in the user's timeline is represented as a TimelineItem JSON structure, described below.
+      "attachments": [ # A list of media attachments associated with this item. As a convenience, you can refer to attachments in your HTML payloads with the attachment or cid scheme. For example:
+          # - attachment: <img src="attachment:attachment_index"> where attachment_index is the 0-based index of this array.
+          # - cid: <img src="cid:attachment_id"> where attachment_id is the ID of the attachment.
+        { # Represents media content, such as a photo, that can be attached to a timeline item.
+          "contentUrl": "A String", # The URL for the content.
+          "contentType": "A String", # The MIME type of the attachment.
+          "id": "A String", # The ID of the attachment.
+          "isProcessingContent": True or False, # Indicates that the contentUrl is not available because the attachment content is still being processed. If the caller wishes to retrieve the content, it should try again later.
+        },
+      ],
+      "displayTime": "A String", # The time that should be displayed when this item is viewed in the timeline, formatted according to RFC 3339. This user's timeline is sorted chronologically on display time, so this will also determine where the item is displayed in the timeline. If not set by the service, the display time defaults to the updated time.
+      "creator": { # A person or group that can be used as a creator or a contact. # The user or group that created this item.
+          "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+          "displayName": "A String", # The name to display for this contact.
+          "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+            "A String",
+          ],
+          "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+              # - INDIVIDUAL - Represents a single person. This is the default.
+              # - GROUP - Represents more than a single person.
+          "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+          "source": "A String", # The ID of the application that created this contact. This is populated by the API
+          "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+          "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+            "A String",
+          ],
+          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+        },
+      "text": "A String", # Text content of this item.
+      "menuItems": [ # A list of menu items that will be presented to the user when this item is selected in the timeline.
+        { # A custom menu item that can be presented to the user by a timeline item.
+          "action": "A String", # Controls the behavior when the user picks the menu option. Allowed values are:
+              # - CUSTOM - Custom action set by the service. When the user selects this menuItem, the API triggers a notification to your callbackUrl with the userActions.type set to CUSTOM and the userActions.payload set to the ID of this menu item. This is the default value.
+              # - Built-in actions:
+              # - REPLY - Initiate a reply to the timeline item using the voice recording UI. The creator attribute must be set in the timeline item for this menu to be available.
+              # - REPLY_ALL - Same behavior as REPLY. The original timeline item's recipients will be added to the reply item.
+              # - DELETE - Delete the timeline item.
+              # - SHARE - Share the timeline item with the available contacts.
+              # - READ_ALOUD - Read the timeline item's speakableText aloud; if this field is not set, read the text field; if none of those fields are set, this menu item is ignored.
+              # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phone_number attribute as recipient.
+              # - NAVIGATE - Navigate to the timeline item's location.
+              # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
+          "removeWhenSelected": True or False, # If set to true on a CUSTOM menu item, that item will be removed from the menu after it is selected.
+          "values": [ # For CUSTOM items, a list of values controlling the appearance of the menu item in each of its states. A value for the DEFAULT state must be provided. If the PENDING or CONFIRMED states are missing, they will not be shown.
+            { # A single value that is part of a MenuItem.
+              "iconUrl": "A String", # URL of an icon to display with the menu item.
+              "state": "A String", # The state that this value applies to. Allowed values are:
+                  # - DEFAULT - Default value shown when displayed in the menuItems list.
+                  # - PENDING - Value shown when the menuItem has been selected by the user but can still be cancelled.
+                  # - CONFIRMED - Value shown when the menuItem has been selected by the user and can no longer be cancelled.
+              "displayName": "A String", # The name to display for the menu item.
+            },
+          ],
+          "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
+        },
+      ],
+      "isBundleCover": True or False, # Whether this item is a bundle cover.
+          #
+          # If an item is marked as a bundle cover, it will be the entry point to the bundle of items that have the same bundleId as that item. It will be shown only on the main timeline — not within the opened bundle.
+          #
+          # On the main timeline, items that are shown are:
+          # - Items that have isBundleCover set to true
+          # - Items that do not have a bundleId  In a bundle sub-timeline, items that are shown are:
+          # - Items that have the bundleId in question AND isBundleCover set to false
+      "etag": "A String", # ETag for this item.
+      "id": "A String", # The ID of the timeline item. This is unique within a user's timeline.
+      "isDeleted": True or False, # When true, indicates this item is deleted, and only the ID property is set.
+      "bundleId": "A String", # The bundle ID for this item. Services can specify a bundleId to group many items together. They appear under a single top-level item on the device.
+      "isPinned": True or False, # When true, indicates this item is pinned, which means it's grouped alongside "active" items like navigation and hangouts, on the opposite side of the home screen from historical (non-pinned) timeline items. You can allow the user to toggle the value of this property with the TOGGLE_PINNED built-in menu item.
+      "title": "A String", # The title of this item.
+      "notification": { # Controls how notifications for a timeline item are presented to the user. # Controls how notifications for this item are presented on the device. If this is missing, no notification will be generated.
+        "level": "A String", # Describes how important the notification is. Allowed values are:
+            # - DEFAULT - Notifications of default importance. A chime will be played to alert users.
+        "deliveryTime": "A String", # The time at which the notification should be delivered.
+      },
+      "speakableText": "A String", # The speakable version of the content of this item. Along with the READ_ALOUD menu item, use this field to provide text that would be clearer when read aloud, or to provide extended information to what is displayed visually on Glass.
+          #
+          # Glassware should also specify the speakableType field, which will be spoken before this text in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
+      "html": "A String", # HTML content for this item. If both text and html are provided for an item, the html will be rendered in the timeline.
+          # Allowed HTML elements - You can use these elements in your timeline cards.
+          #
+          # - Headers: h1, h2, h3, h4, h5, h6
+          # - Images: img
+          # - Lists: li, ol, ul
+          # - HTML5 semantics: article, aside, details, figure, figcaption, footer, header, nav, section, summary, time
+          # - Structural: blockquote, br, div, hr, p, span
+          # - Style: b, big, center, em, i, u, s, small, strike, strong, style, sub, sup
+          # - Tables: table, tbody, td, tfoot, th, thead, tr
+          # Blocked HTML elements: These elements and their contents are removed from HTML payloads.
+          #
+          # - Document headers: head, title
+          # - Embeds: audio, embed, object, source, video
+          # - Frames: frame, frameset
+          # - Scripting: applet, script
+          # Other elements: Any elements that aren't listed are removed, but their contents are preserved.
+      "location": { # A geographic location that can be associated with a timeline item. # The geographic location associated with this item.
+        "kind": "mirror#location", # The type of resource. This is always mirror#location.
+        "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
+        "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
+        "longitude": 3.14, # The longitude, in degrees.
+        "address": "A String", # The full address of the location.
+        "latitude": 3.14, # The latitude, in degrees.
+        "id": "A String", # The ID of the location.
+        "accuracy": 3.14, # The accuracy of the location fix in meters.
+      },
+      "sourceItemId": "A String", # Opaque string you can use to map a timeline item to data in your own service.
+      "inReplyTo": "A String", # If this item was generated as a reply to another item, this field will be set to the ID of the item being replied to. This can be used to attach a reply to the appropriate conversation or post.
+      "updated": "A String", # The time at which this item was last modified, formatted according to RFC 3339.
+      "canonicalUrl": "A String", # A canonical URL pointing to the canonical/high quality version of the data represented by the timeline item.
+      "recipients": [ # A list of users or groups that this item has been shared with.
+        { # A person or group that can be used as a creator or a contact.
+            "kind": "mirror#contact", # The type of resource. This is always mirror#contact.
+            "displayName": "A String", # The name to display for this contact.
+            "acceptTypes": [ # A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items.
+              "A String",
+            ],
+            "type": "A String", # The type for this contact. This is used for sorting in UIs. Allowed values are:
+                # - INDIVIDUAL - Represents a single person. This is the default.
+                # - GROUP - Represents more than a single person.
+            "priority": 42, # Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities.
+            "source": "A String", # The ID of the application that created this contact. This is populated by the API
+            "phoneNumber": "A String", # Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number.
+            "imageUrls": [ # Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client.
+              "A String",
+            ],
+            "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+          },
+      ],
+      "kind": "mirror#timelineItem", # The type of resource. This is always mirror#timelineItem.
+      "created": "A String", # The time at which this item was created, formatted according to RFC 3339.
+      "htmlPages": [ # Additional pages of HTML content associated with this item. If this field is specified, the item will be displayed as a bundle, with the html field as the cover. It is an error to specify this field without specifying the html field.
+        "A String",
+      ],
+      "pinScore": 42, # For pinned items, this determines the order in which the item is displayed in the timeline, with a higher score appearing closer to the clock. Note: setting this field is currently not supported.
+      "speakableType": "A String", # A speakable description of the type of this item. This will be announced to the user prior to reading the content of the item in cases where the additional context is useful, for example when the user requests that the item be read aloud following a notification.
+          #
+          # This should be a short, simple noun phrase such as "Email", "Text message", or "Daily Planet News Update".
+          #
+          # Glassware are encouraged to populate this field for every timeline item, even if the item does not contain speakableText or text so that the user can learn the type of the item without looking at the screen.
+      "selfLink": "A String", # A URL that can be used to retrieve this item.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/pagespeedonline_v1.html b/docs/dyn/pagespeedonline_v1.html
index 26abb4d..4b0abf3 100644
--- a/docs/dyn/pagespeedonline_v1.html
+++ b/docs/dyn/pagespeedonline_v1.html
@@ -72,7 +72,7 @@
 
 </style>
 
-<h1><a href="pagespeedonline_v1.html">Page Speed Online API</a></h1>
+<h1><a href="pagespeedonline_v1.html">PageSpeed Insights API</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
   <code><a href="pagespeedonline_v1.pagespeedapi.html">pagespeedapi()</a></code>
diff --git a/docs/dyn/pagespeedonline_v1.pagespeedapi.html b/docs/dyn/pagespeedonline_v1.pagespeedapi.html
index a8c12da..aa269a2 100644
--- a/docs/dyn/pagespeedonline_v1.pagespeedapi.html
+++ b/docs/dyn/pagespeedonline_v1.pagespeedapi.html
@@ -72,30 +72,51 @@
 
 </style>
 
-<h1><a href="pagespeedonline_v1.html">Page Speed Online API</a> . <a href="pagespeedonline_v1.pagespeedapi.html">pagespeedapi</a></h1>
+<h1><a href="pagespeedonline_v1.html">PageSpeed Insights API</a> . <a href="pagespeedonline_v1.pagespeedapi.html">pagespeedapi</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
-  <code><a href="#runpagespeed">runpagespeed(url, locale=None, rule=None, strategy=None)</a></code></p>
+  <code><a href="#runpagespeed">runpagespeed(url, screenshot=None, locale=None, rule=None, strategy=None, filter_third_party_resources=None)</a></code></p>
 <p class="firstline">Runs Page Speed analysis on the page at the specified URL, and returns a Page Speed score, a list of suggestions to make that page faster, and other information.</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="runpagespeed">runpagespeed(url, locale=None, rule=None, strategy=None)</code>
+    <code class="details" id="runpagespeed">runpagespeed(url, screenshot=None, locale=None, rule=None, strategy=None, filter_third_party_resources=None)</code>
   <pre>Runs Page Speed analysis on the page at the specified URL, and returns a Page Speed score, a list of suggestions to make that page faster, and other information.
 
 Args:
   url: string, The URL to fetch and analyze (required)
+  screenshot: boolean, Indicates if binary data containing a screenshot should be included
   locale: string, The locale used to localize formatted results
   rule: string, A Page Speed rule to run; if none are given, all rules are run (repeated)
   strategy: string, The analysis strategy to use
     Allowed values
       desktop - Fetch and analyze the URL for desktop browsers
       mobile - Fetch and analyze the URL for mobile devices
+  filter_third_party_resources: boolean, Indicates if third party resources should be filtered out before PageSpeed analysis.
 
 Returns:
   An object of the form:
 
     {
+    "notice": "If you would like to use this API to perform programmatic PageSpeed analysis, please use your own PageSpeed Insights API key. See https://developers.google.com/speed/docs/insights/v1/getting_started for additional details.", # Notice to discourage users from reusing API keys.
+    "responseCode": 42, # Response code for the document. 200 indicates a normal page load. 4xx/5xx indicates an error.
+    "screenshot": { # Base64 encoded screenshot of the page that was analyzed.
+      "width": 42, # Width of screenshot in pixels.
+      "data": "A String", # Image data base64 encoded.
+      "mime_type": "A String", # Mime type of image data. E.g. "image/jpeg".
+      "height": 42, # Height of screenshot in pixels.
+    },
+    "title": "A String", # Title of the page, as displayed in the browser's title bar.
+    "version": { # The version of the Page Speed SDK used to generate these results.
+      "major": 42, # The major version number of the Page Speed SDK used to generate these results.
+      "minor": 42, # The minor version number of the Page Speed SDK used to generate these results.
+    },
+    "request": { # Echo of certain request parameters.
+      "url": "A String",
+      "filter_third_party_resources": "A String",
+      "strategy": "A String",
+    },
     "kind": "pagespeedonline#result", # Kind of result.
+    "score": 42, # The Page Speed Score (0-100), which indicates how much faster a page could be. A high score indicates little room for improvement, while a lower score indicates more room for improvement.
     "formattedResults": { # Localized Page Speed results. Contains a ruleResults entry for each Page Speed rule instantiated and run by the server.
       "locale": "A String", # The locale of the formattedResults, e.g. "en_US".
       "ruleResults": { # Dictionary of formatted rule results, with one entry for each Page Speed rule instantiated and run by the server.
@@ -143,13 +164,6 @@
         },
       },
     },
-    "title": "A String", # Title of the page, as displayed in the browser's title bar.
-    "version": { # The version of the Page Speed SDK used to generate these results.
-      "major": 42, # The major version number of the Page Speed SDK used to generate these results.
-      "minor": 42, # The minor version number of the Page Speed SDK used to generate these results.
-    },
-    "score": 42, # The Page Speed Score (0-100), which indicates how much faster a page could be. A high score indicates little room for improvement, while a lower score indicates more room for improvement.
-    "responseCode": 42, # Response code for the document. 200 indicates a normal page load. 4xx/5xx indicates an error.
     "invalidRules": [ # List of rules that were specified in the request, but which the server did not know how to instantiate.
       "A String",
     ],
diff --git a/docs/dyn/plus_v1.activities.html b/docs/dyn/plus_v1.activities.html
index bb82cd4..338d267 100644
--- a/docs/dyn/plus_v1.activities.html
+++ b/docs/dyn/plus_v1.activities.html
@@ -117,8 +117,8 @@
       },
       "attachments": [ # The media objects attached to this activity.
         {
-          "displayName": "A String", # The title of the attachment (such as a photo caption or an article title).
-          "thumbnails": [ # If the attachment is an album, potential additional thumbnails from the album.
+          "displayName": "A String", # The title of the attachment, such as a photo caption or an article title.
+          "thumbnails": [ # If the attachment is an album, this property is a list of potential additional thumbnails from the album.
             {
               "url": "A String", # URL to the webpage containing the image.
               "image": { # Image resource.
@@ -149,34 +149,34 @@
             "type": "A String", # Media type of the link.
           },
           "id": "A String", # The ID of the attachment.
-          "objectType": "A String", # The type of media object. Possible values are:
+          "objectType": "A String", # The type of media object. Possible values include, but are not limited to, the following values:
               # - "photo" - A photo.
               # - "album" - A photo album.
               # - "video" - A video.
               # - "article" - An article, specified by a link.
         },
       ],
-      "originalContent": "A String", # The content (text) as provided by the author, stored without any HTML formatting. When creating or updating an activity, this value must be supplied as plain text in the request.
+      "originalContent": "A String", # The content (text) as provided by the author, which is stored without any HTML formatting. When creating or updating an activity, this value must be supplied as plain text in the request.
       "plusoners": { # People who +1'd this activity.
         "totalItems": 42, # Total number of people who +1'd this activity.
         "selfLink": "A String", # The URL for the collection of people who +1'd this activity.
       },
-      "actor": { # If this activity's object is itself another activity (for example, when a person reshares an activity), this property specifies the original activity's actor.
+      "actor": { # If this activity's object is itself another activity, such as when a person reshares an activity, this property specifies the original activity's actor.
         "url": "A String", # A link to the original actor's Google profile.
         "image": { # The image representation of the original actor.
           "url": "A String", # A URL that points to a thumbnail photo of the original actor.
         },
-        "displayName": "A String", # The original actor's name, suitable for display.
+        "displayName": "A String", # The original actor's name, which is suitable for display.
         "id": "A String", # ID of the original actor.
       },
-      "content": "A String", # The HTML-formatted content, suitable for display.
+      "content": "A String", # The HTML-formatted content, which is suitable for display.
       "url": "A String", # The URL that points to the linked resource.
       "replies": { # Comments in reply to this activity.
         "totalItems": 42, # Total number of comments on this activity.
         "selfLink": "A String", # The URL for the collection of comments in reply to this activity.
       },
-      "id": "A String", # The ID of the object. When resharing an activity, this is the ID of the activity being reshared.
-      "objectType": "A String", # The type of the object. Possible values are:
+      "id": "A String", # The ID of the object. When resharing an activity, this is the ID of the activity that is being reshared.
+      "objectType": "A String", # The type of the object. Possible values include, but are not limited to, the following values:
           # - "note" - Textual content.
           # - "activity" - A Google+ activity.
     },
@@ -202,6 +202,7 @@
               # - "circle" - Access to members of a circle.
               # - "myCircles" - Access to members of all the person's circles.
               # - "extendedCircles" - Access to members of everyone in a person's circles, plus all of the people in their circles.
+              # - "domain" - Access to members of the person's Google Apps domain.
               # - "public" - Access to anyone on the web.
           "displayName": "A String", # A descriptive name for this entry. Suitable for display.
           "id": "A String", # The ID of the entry. For entries of type "person" or "circle", this is the ID of the resource. For other types, this property is not set.
@@ -210,13 +211,24 @@
       "kind": "plus#acl", # Identifies this resource as a collection of access controls. Value: "plus#acl".
       "description": "A String", # Description of the access granted, suitable for display.
     },
-    "verb": "A String", # This activity's verb, indicating what action was performed. Possible values are:
+    "verb": "A String", # This activity's verb, which indicates the action that was performed. Possible values include, but are not limited to, the following values:
         # - "post" - Publish content to the stream.
         # - "share" - Reshare an activity.
     "etag": "A String", # ETag of this response for caching purposes.
     "radius": "A String", # Radius, in meters, of the region where this activity occurred, centered at the latitude and longitude identified in geocode.
+    "location": { # The location where this activity occurred.
+      "position": { # The position of the place.
+        "latitude": 3.14, # The latitude of this position.
+        "longitude": 3.14, # The longitude of this position.
+      },
+      "kind": "plus#place", # Identifies this resource as a place. Value: "plus#place".
+      "displayName": "A String", # The display name of the place.
+      "address": { # The physical address of the place.
+        "formatted": "A String", # The formatted address for display.
+      },
+    },
     "address": "A String", # Street address where this activity occurred.
-    "crosspostSource": "A String", # If this activity is a crosspost from another system, this property specifies the ID of the original activity.
+    "crosspostSource": "A String", # If this activity is a cross post from another system, this property specifies the ID of the original activity.
     "annotation": "A String", # Additional content added by the person who shared this activity, applicable only when resharing an activity.
     "published": "A String", # The time at which this activity was initially published. Formatted as an RFC 3339 timestamp.
   }</pre>
@@ -259,8 +271,8 @@
           },
           "attachments": [ # The media objects attached to this activity.
             {
-              "displayName": "A String", # The title of the attachment (such as a photo caption or an article title).
-              "thumbnails": [ # If the attachment is an album, potential additional thumbnails from the album.
+              "displayName": "A String", # The title of the attachment, such as a photo caption or an article title.
+              "thumbnails": [ # If the attachment is an album, this property is a list of potential additional thumbnails from the album.
                 {
                   "url": "A String", # URL to the webpage containing the image.
                   "image": { # Image resource.
@@ -291,34 +303,34 @@
                 "type": "A String", # Media type of the link.
               },
               "id": "A String", # The ID of the attachment.
-              "objectType": "A String", # The type of media object. Possible values are:
+              "objectType": "A String", # The type of media object. Possible values include, but are not limited to, the following values:
                   # - "photo" - A photo.
                   # - "album" - A photo album.
                   # - "video" - A video.
                   # - "article" - An article, specified by a link.
             },
           ],
-          "originalContent": "A String", # The content (text) as provided by the author, stored without any HTML formatting. When creating or updating an activity, this value must be supplied as plain text in the request.
+          "originalContent": "A String", # The content (text) as provided by the author, which is stored without any HTML formatting. When creating or updating an activity, this value must be supplied as plain text in the request.
           "plusoners": { # People who +1'd this activity.
             "totalItems": 42, # Total number of people who +1'd this activity.
             "selfLink": "A String", # The URL for the collection of people who +1'd this activity.
           },
-          "actor": { # If this activity's object is itself another activity (for example, when a person reshares an activity), this property specifies the original activity's actor.
+          "actor": { # If this activity's object is itself another activity, such as when a person reshares an activity, this property specifies the original activity's actor.
             "url": "A String", # A link to the original actor's Google profile.
             "image": { # The image representation of the original actor.
               "url": "A String", # A URL that points to a thumbnail photo of the original actor.
             },
-            "displayName": "A String", # The original actor's name, suitable for display.
+            "displayName": "A String", # The original actor's name, which is suitable for display.
             "id": "A String", # ID of the original actor.
           },
-          "content": "A String", # The HTML-formatted content, suitable for display.
+          "content": "A String", # The HTML-formatted content, which is suitable for display.
           "url": "A String", # The URL that points to the linked resource.
           "replies": { # Comments in reply to this activity.
             "totalItems": 42, # Total number of comments on this activity.
             "selfLink": "A String", # The URL for the collection of comments in reply to this activity.
           },
-          "id": "A String", # The ID of the object. When resharing an activity, this is the ID of the activity being reshared.
-          "objectType": "A String", # The type of the object. Possible values are:
+          "id": "A String", # The ID of the object. When resharing an activity, this is the ID of the activity that is being reshared.
+          "objectType": "A String", # The type of the object. Possible values include, but are not limited to, the following values:
               # - "note" - Textual content.
               # - "activity" - A Google+ activity.
         },
@@ -344,6 +356,7 @@
                   # - "circle" - Access to members of a circle.
                   # - "myCircles" - Access to members of all the person's circles.
                   # - "extendedCircles" - Access to members of everyone in a person's circles, plus all of the people in their circles.
+                  # - "domain" - Access to members of the person's Google Apps domain.
                   # - "public" - Access to anyone on the web.
               "displayName": "A String", # A descriptive name for this entry. Suitable for display.
               "id": "A String", # The ID of the entry. For entries of type "person" or "circle", this is the ID of the resource. For other types, this property is not set.
@@ -352,13 +365,24 @@
           "kind": "plus#acl", # Identifies this resource as a collection of access controls. Value: "plus#acl".
           "description": "A String", # Description of the access granted, suitable for display.
         },
-        "verb": "A String", # This activity's verb, indicating what action was performed. Possible values are:
+        "verb": "A String", # This activity's verb, which indicates the action that was performed. Possible values include, but are not limited to, the following values:
             # - "post" - Publish content to the stream.
             # - "share" - Reshare an activity.
         "etag": "A String", # ETag of this response for caching purposes.
         "radius": "A String", # Radius, in meters, of the region where this activity occurred, centered at the latitude and longitude identified in geocode.
+        "location": { # The location where this activity occurred.
+          "position": { # The position of the place.
+            "latitude": 3.14, # The latitude of this position.
+            "longitude": 3.14, # The longitude of this position.
+          },
+          "kind": "plus#place", # Identifies this resource as a place. Value: "plus#place".
+          "displayName": "A String", # The display name of the place.
+          "address": { # The physical address of the place.
+            "formatted": "A String", # The formatted address for display.
+          },
+        },
         "address": "A String", # Street address where this activity occurred.
-        "crosspostSource": "A String", # If this activity is a crosspost from another system, this property specifies the ID of the original activity.
+        "crosspostSource": "A String", # If this activity is a cross post from another system, this property specifies the ID of the original activity.
         "annotation": "A String", # Additional content added by the person who shared this activity, applicable only when resharing an activity.
         "published": "A String", # The time at which this activity was initially published. Formatted as an RFC 3339 timestamp.
       },
@@ -424,8 +448,8 @@
           },
           "attachments": [ # The media objects attached to this activity.
             {
-              "displayName": "A String", # The title of the attachment (such as a photo caption or an article title).
-              "thumbnails": [ # If the attachment is an album, potential additional thumbnails from the album.
+              "displayName": "A String", # The title of the attachment, such as a photo caption or an article title.
+              "thumbnails": [ # If the attachment is an album, this property is a list of potential additional thumbnails from the album.
                 {
                   "url": "A String", # URL to the webpage containing the image.
                   "image": { # Image resource.
@@ -456,34 +480,34 @@
                 "type": "A String", # Media type of the link.
               },
               "id": "A String", # The ID of the attachment.
-              "objectType": "A String", # The type of media object. Possible values are:
+              "objectType": "A String", # The type of media object. Possible values include, but are not limited to, the following values:
                   # - "photo" - A photo.
                   # - "album" - A photo album.
                   # - "video" - A video.
                   # - "article" - An article, specified by a link.
             },
           ],
-          "originalContent": "A String", # The content (text) as provided by the author, stored without any HTML formatting. When creating or updating an activity, this value must be supplied as plain text in the request.
+          "originalContent": "A String", # The content (text) as provided by the author, which is stored without any HTML formatting. When creating or updating an activity, this value must be supplied as plain text in the request.
           "plusoners": { # People who +1'd this activity.
             "totalItems": 42, # Total number of people who +1'd this activity.
             "selfLink": "A String", # The URL for the collection of people who +1'd this activity.
           },
-          "actor": { # If this activity's object is itself another activity (for example, when a person reshares an activity), this property specifies the original activity's actor.
+          "actor": { # If this activity's object is itself another activity, such as when a person reshares an activity, this property specifies the original activity's actor.
             "url": "A String", # A link to the original actor's Google profile.
             "image": { # The image representation of the original actor.
               "url": "A String", # A URL that points to a thumbnail photo of the original actor.
             },
-            "displayName": "A String", # The original actor's name, suitable for display.
+            "displayName": "A String", # The original actor's name, which is suitable for display.
             "id": "A String", # ID of the original actor.
           },
-          "content": "A String", # The HTML-formatted content, suitable for display.
+          "content": "A String", # The HTML-formatted content, which is suitable for display.
           "url": "A String", # The URL that points to the linked resource.
           "replies": { # Comments in reply to this activity.
             "totalItems": 42, # Total number of comments on this activity.
             "selfLink": "A String", # The URL for the collection of comments in reply to this activity.
           },
-          "id": "A String", # The ID of the object. When resharing an activity, this is the ID of the activity being reshared.
-          "objectType": "A String", # The type of the object. Possible values are:
+          "id": "A String", # The ID of the object. When resharing an activity, this is the ID of the activity that is being reshared.
+          "objectType": "A String", # The type of the object. Possible values include, but are not limited to, the following values:
               # - "note" - Textual content.
               # - "activity" - A Google+ activity.
         },
@@ -509,6 +533,7 @@
                   # - "circle" - Access to members of a circle.
                   # - "myCircles" - Access to members of all the person's circles.
                   # - "extendedCircles" - Access to members of everyone in a person's circles, plus all of the people in their circles.
+                  # - "domain" - Access to members of the person's Google Apps domain.
                   # - "public" - Access to anyone on the web.
               "displayName": "A String", # A descriptive name for this entry. Suitable for display.
               "id": "A String", # The ID of the entry. For entries of type "person" or "circle", this is the ID of the resource. For other types, this property is not set.
@@ -517,13 +542,24 @@
           "kind": "plus#acl", # Identifies this resource as a collection of access controls. Value: "plus#acl".
           "description": "A String", # Description of the access granted, suitable for display.
         },
-        "verb": "A String", # This activity's verb, indicating what action was performed. Possible values are:
+        "verb": "A String", # This activity's verb, which indicates the action that was performed. Possible values include, but are not limited to, the following values:
             # - "post" - Publish content to the stream.
             # - "share" - Reshare an activity.
         "etag": "A String", # ETag of this response for caching purposes.
         "radius": "A String", # Radius, in meters, of the region where this activity occurred, centered at the latitude and longitude identified in geocode.
+        "location": { # The location where this activity occurred.
+          "position": { # The position of the place.
+            "latitude": 3.14, # The latitude of this position.
+            "longitude": 3.14, # The longitude of this position.
+          },
+          "kind": "plus#place", # Identifies this resource as a place. Value: "plus#place".
+          "displayName": "A String", # The display name of the place.
+          "address": { # The physical address of the place.
+            "formatted": "A String", # The formatted address for display.
+          },
+        },
         "address": "A String", # Street address where this activity occurred.
-        "crosspostSource": "A String", # If this activity is a crosspost from another system, this property specifies the ID of the original activity.
+        "crosspostSource": "A String", # If this activity is a cross post from another system, this property specifies the ID of the original activity.
         "annotation": "A String", # Additional content added by the person who shared this activity, applicable only when resharing an activity.
         "published": "A String", # The time at which this activity was initially published. Formatted as an RFC 3339 timestamp.
       },
diff --git a/docs/dyn/plus_v1.people.html b/docs/dyn/plus_v1.people.html
index a4f1a68..b0f05b6 100644
--- a/docs/dyn/plus_v1.people.html
+++ b/docs/dyn/plus_v1.people.html
@@ -111,17 +111,41 @@
     "image": { # The representation of the person's profile photo.
       "url": "A String", # The URL of the person's profile photo. To re-size the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
     },
-    "hasApp": True or False, # If "true", indicates that the person has installed the app that is making the request and has chosen to expose this install state to the caller. A value of "false" indicates that the install state cannot be determined (it is either not installed or the person has chosen to keep this information private).
     "id": "A String", # The ID of this person.
-    "objectType": "A String", # Type of person within Google+. Possible values are:
+    "objectType": "A String", # Type of person within Google+. Possible values include, but are not limited to, the following values:
         # - "person" - represents an actual person.
         # - "page" - represents a page.
     "verified": True or False, # Whether the person or Google+ Page has been verified.
     "tagline": "A String", # The brief description (tagline) of this person.
-    "currentLocation": "A String", # The current location for this person.
     "etag": "A String", # ETag of this response for caching purposes.
     "circledByCount": 42, # If a Google+ Page and for followers who are visible, the number of people who have added this page to a circle.
-    "relationshipStatus": "A String", # The person's relationship status. Possible values are:
+    "aboutMe": "A String", # A short biography for this person.
+    "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
+    "placesLived": [ # A list of places where this person has lived.
+      {
+        "primary": True or False, # If "true", this place of residence is this person's primary residence.
+        "value": "A String", # A place where this person has lived. For example: "Seattle, WA", "Near Toronto".
+      },
+    ],
+    "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
+    "nickname": "A String", # The nickname of this person.
+    "currentLocation": "A String", # The current location for this person.
+    "organizations": [ # A list of current or past organizations with which this person is associated.
+      {
+        "startDate": "A String", # The date that the person joined this organization.
+        "endDate": "A String", # The date that the person left this organization.
+        "description": "A String", # A short description of the person's role in this organization. Deprecated.
+        "title": "A String", # The person's job title or role within the organization.
+        "primary": True or False, # If "true", indicates this organization is the person's primary one, which is typically interpreted as the current one.
+        "location": "A String", # The location of this organization. Deprecated.
+        "department": "A String", # The department within the organization. Deprecated.
+        "type": "A String", # The type of organization. Possible values include, but are not limited to, the following values:
+            # - "work" - Work.
+            # - "school" - School.
+        "name": "A String", # The name of the organization.
+      },
+    ],
+    "relationshipStatus": "A String", # The person's relationship status. Possible values include, but are not limited to, the following values:
         # - "single" - Person is single.
         # - "in_a_relationship" - Person is in a relationship.
         # - "engaged" - Person is engaged.
@@ -131,42 +155,7 @@
         # - "widowed" - Person is widowed.
         # - "in_domestic_partnership" - Person is in a domestic partnership.
         # - "in_civil_union" - Person is in a civil union.
-    "aboutMe": "A String", # A short biography for this person.
-    "placesLived": [ # A list of places where this person has lived.
-      {
-        "primary": True or False, # If "true", this place of residence is this person's primary residence.
-        "value": "A String", # A place where this person has lived. For example: "Seattle, WA", "Near Toronto".
-      },
-    ],
-    "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
-    "nickname": "A String", # The nickname of this person.
-    "emails": [ # A list of email addresses that this person has set to public on their Google+ profile. You can also use the userinfo.email scope to retrieve an authenticated user's email address.
-      {
-        "type": "A String", # The type of address. Possible values are:
-            # - "home" - Home email address.
-            # - "work" - Work email address.
-            # - "other" - Other.
-        "primary": True or False, # If "true", indicates this email address is the person's primary one.
-        "value": "A String", # The email address.
-      },
-    ],
-    "organizations": [ # A list of current or past organizations with which this person is associated.
-      {
-        "startDate": "A String", # The date the person joined this organization.
-        "endDate": "A String", # The date the person left this organization.
-        "description": "A String", # A short description of the person's role in this organization. Deprecated.
-        "title": "A String", # The person's job title or role within the organization.
-        "primary": True or False, # If "true", indicates this organization is the person's primary one (typically interpreted as current one).
-        "location": "A String", # The location of this organization. Deprecated.
-        "department": "A String", # The department within the organization. Deprecated.
-        "type": "A String", # The type of organization. Possible values are:
-            # - "work" - Work.
-            # - "school" - School.
-        "name": "A String", # The name of the organization.
-      },
-    ],
-    "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
-    "displayName": "A String", # The name of this person, suitable for display.
+    "displayName": "A String", # The name of this person, which is suitable for display.
     "name": { # An object representation of the individual components of a person's name.
       "honorificPrefix": "A String", # The honorific prefixes (such as "Dr." or "Mrs.") for this person.
       "middleName": "A String", # The middle name of this person.
@@ -177,12 +166,12 @@
     },
     "language": "A String", # The user's preferred language for rendering.
     "url": "A String", # The URL of this person's profile.
-    "gender": "A String", # The person's gender. Possible values are:
+    "gender": "A String", # The person's gender. Possible values include, but are not limited to, the following values:
         # - "male" - Male gender.
         # - "female" - Female gender.
         # - "other" - Other.
     "cover": { # The cover photo content.
-      "layout": "A String", # The layout of the cover art. Possible values are:
+      "layout": "A String", # The layout of the cover art. Possible values include, but are not limited to, the following values:
           # - "banner" - One large image banner.
       "coverInfo": { # Extra information about the cover photo.
         "leftImageOffset": 42, # The difference between the left position of the image cover and the actual displayed cover image. Only valid for BANNER layout.
@@ -198,14 +187,13 @@
     "plusOneCount": 42, # If a Google+ Page, the number of people who have +1'ed this page.
     "urls": [ # A list of URLs for this person.
       {
-        "type": "A String", # The type of URL. Possible values are:
-            # - "home" - URL for home.
-            # - "work" - URL for work.
-            # - "blog" - URL for blog.
-            # - "profile" - URL for profile.
-            # - "other" - Other.
-        "primary": True or False, # If "true", this URL is the person's primary URL.
+        "type": "A String", # The type of URL. Possible values include, but are not limited to, the following values:
+            # - "otherProfile" - URL for another profile.
+            # - "contributor" - URL to a site for which this person is a contributor.
+            # - "website" - URL for this Google+ Page's primary website.
+            # - "other" - Other URL.
         "value": "A String", # The URL value.
+        "label": "A String", # The label of the URL.
       },
     ],
     "ageRange": { # The age range of the person.
@@ -244,17 +232,41 @@
         "image": { # The representation of the person's profile photo.
           "url": "A String", # The URL of the person's profile photo. To re-size the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
         },
-        "hasApp": True or False, # If "true", indicates that the person has installed the app that is making the request and has chosen to expose this install state to the caller. A value of "false" indicates that the install state cannot be determined (it is either not installed or the person has chosen to keep this information private).
         "id": "A String", # The ID of this person.
-        "objectType": "A String", # Type of person within Google+. Possible values are:
+        "objectType": "A String", # Type of person within Google+. Possible values include, but are not limited to, the following values:
             # - "person" - represents an actual person.
             # - "page" - represents a page.
         "verified": True or False, # Whether the person or Google+ Page has been verified.
         "tagline": "A String", # The brief description (tagline) of this person.
-        "currentLocation": "A String", # The current location for this person.
         "etag": "A String", # ETag of this response for caching purposes.
         "circledByCount": 42, # If a Google+ Page and for followers who are visible, the number of people who have added this page to a circle.
-        "relationshipStatus": "A String", # The person's relationship status. Possible values are:
+        "aboutMe": "A String", # A short biography for this person.
+        "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
+        "placesLived": [ # A list of places where this person has lived.
+          {
+            "primary": True or False, # If "true", this place of residence is this person's primary residence.
+            "value": "A String", # A place where this person has lived. For example: "Seattle, WA", "Near Toronto".
+          },
+        ],
+        "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
+        "nickname": "A String", # The nickname of this person.
+        "currentLocation": "A String", # The current location for this person.
+        "organizations": [ # A list of current or past organizations with which this person is associated.
+          {
+            "startDate": "A String", # The date that the person joined this organization.
+            "endDate": "A String", # The date that the person left this organization.
+            "description": "A String", # A short description of the person's role in this organization. Deprecated.
+            "title": "A String", # The person's job title or role within the organization.
+            "primary": True or False, # If "true", indicates this organization is the person's primary one, which is typically interpreted as the current one.
+            "location": "A String", # The location of this organization. Deprecated.
+            "department": "A String", # The department within the organization. Deprecated.
+            "type": "A String", # The type of organization. Possible values include, but are not limited to, the following values:
+                # - "work" - Work.
+                # - "school" - School.
+            "name": "A String", # The name of the organization.
+          },
+        ],
+        "relationshipStatus": "A String", # The person's relationship status. Possible values include, but are not limited to, the following values:
             # - "single" - Person is single.
             # - "in_a_relationship" - Person is in a relationship.
             # - "engaged" - Person is engaged.
@@ -264,42 +276,7 @@
             # - "widowed" - Person is widowed.
             # - "in_domestic_partnership" - Person is in a domestic partnership.
             # - "in_civil_union" - Person is in a civil union.
-        "aboutMe": "A String", # A short biography for this person.
-        "placesLived": [ # A list of places where this person has lived.
-          {
-            "primary": True or False, # If "true", this place of residence is this person's primary residence.
-            "value": "A String", # A place where this person has lived. For example: "Seattle, WA", "Near Toronto".
-          },
-        ],
-        "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
-        "nickname": "A String", # The nickname of this person.
-        "emails": [ # A list of email addresses that this person has set to public on their Google+ profile. You can also use the userinfo.email scope to retrieve an authenticated user's email address.
-          {
-            "type": "A String", # The type of address. Possible values are:
-                # - "home" - Home email address.
-                # - "work" - Work email address.
-                # - "other" - Other.
-            "primary": True or False, # If "true", indicates this email address is the person's primary one.
-            "value": "A String", # The email address.
-          },
-        ],
-        "organizations": [ # A list of current or past organizations with which this person is associated.
-          {
-            "startDate": "A String", # The date the person joined this organization.
-            "endDate": "A String", # The date the person left this organization.
-            "description": "A String", # A short description of the person's role in this organization. Deprecated.
-            "title": "A String", # The person's job title or role within the organization.
-            "primary": True or False, # If "true", indicates this organization is the person's primary one (typically interpreted as current one).
-            "location": "A String", # The location of this organization. Deprecated.
-            "department": "A String", # The department within the organization. Deprecated.
-            "type": "A String", # The type of organization. Possible values are:
-                # - "work" - Work.
-                # - "school" - School.
-            "name": "A String", # The name of the organization.
-          },
-        ],
-        "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
-        "displayName": "A String", # The name of this person, suitable for display.
+        "displayName": "A String", # The name of this person, which is suitable for display.
         "name": { # An object representation of the individual components of a person's name.
           "honorificPrefix": "A String", # The honorific prefixes (such as "Dr." or "Mrs.") for this person.
           "middleName": "A String", # The middle name of this person.
@@ -310,12 +287,12 @@
         },
         "language": "A String", # The user's preferred language for rendering.
         "url": "A String", # The URL of this person's profile.
-        "gender": "A String", # The person's gender. Possible values are:
+        "gender": "A String", # The person's gender. Possible values include, but are not limited to, the following values:
             # - "male" - Male gender.
             # - "female" - Female gender.
             # - "other" - Other.
         "cover": { # The cover photo content.
-          "layout": "A String", # The layout of the cover art. Possible values are:
+          "layout": "A String", # The layout of the cover art. Possible values include, but are not limited to, the following values:
               # - "banner" - One large image banner.
           "coverInfo": { # Extra information about the cover photo.
             "leftImageOffset": 42, # The difference between the left position of the image cover and the actual displayed cover image. Only valid for BANNER layout.
@@ -331,14 +308,13 @@
         "plusOneCount": 42, # If a Google+ Page, the number of people who have +1'ed this page.
         "urls": [ # A list of URLs for this person.
           {
-            "type": "A String", # The type of URL. Possible values are:
-                # - "home" - URL for home.
-                # - "work" - URL for work.
-                # - "blog" - URL for blog.
-                # - "profile" - URL for profile.
-                # - "other" - Other.
-            "primary": True or False, # If "true", this URL is the person's primary URL.
+            "type": "A String", # The type of URL. Possible values include, but are not limited to, the following values:
+                # - "otherProfile" - URL for another profile.
+                # - "contributor" - URL to a site for which this person is a contributor.
+                # - "website" - URL for this Google+ Page's primary website.
+                # - "other" - Other URL.
             "value": "A String", # The URL value.
+            "label": "A String", # The label of the URL.
           },
         ],
         "ageRange": { # The age range of the person.
@@ -379,17 +355,41 @@
         "image": { # The representation of the person's profile photo.
           "url": "A String", # The URL of the person's profile photo. To re-size the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
         },
-        "hasApp": True or False, # If "true", indicates that the person has installed the app that is making the request and has chosen to expose this install state to the caller. A value of "false" indicates that the install state cannot be determined (it is either not installed or the person has chosen to keep this information private).
         "id": "A String", # The ID of this person.
-        "objectType": "A String", # Type of person within Google+. Possible values are:
+        "objectType": "A String", # Type of person within Google+. Possible values include, but are not limited to, the following values:
             # - "person" - represents an actual person.
             # - "page" - represents a page.
         "verified": True or False, # Whether the person or Google+ Page has been verified.
         "tagline": "A String", # The brief description (tagline) of this person.
-        "currentLocation": "A String", # The current location for this person.
         "etag": "A String", # ETag of this response for caching purposes.
         "circledByCount": 42, # If a Google+ Page and for followers who are visible, the number of people who have added this page to a circle.
-        "relationshipStatus": "A String", # The person's relationship status. Possible values are:
+        "aboutMe": "A String", # A short biography for this person.
+        "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
+        "placesLived": [ # A list of places where this person has lived.
+          {
+            "primary": True or False, # If "true", this place of residence is this person's primary residence.
+            "value": "A String", # A place where this person has lived. For example: "Seattle, WA", "Near Toronto".
+          },
+        ],
+        "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
+        "nickname": "A String", # The nickname of this person.
+        "currentLocation": "A String", # The current location for this person.
+        "organizations": [ # A list of current or past organizations with which this person is associated.
+          {
+            "startDate": "A String", # The date that the person joined this organization.
+            "endDate": "A String", # The date that the person left this organization.
+            "description": "A String", # A short description of the person's role in this organization. Deprecated.
+            "title": "A String", # The person's job title or role within the organization.
+            "primary": True or False, # If "true", indicates this organization is the person's primary one, which is typically interpreted as the current one.
+            "location": "A String", # The location of this organization. Deprecated.
+            "department": "A String", # The department within the organization. Deprecated.
+            "type": "A String", # The type of organization. Possible values include, but are not limited to, the following values:
+                # - "work" - Work.
+                # - "school" - School.
+            "name": "A String", # The name of the organization.
+          },
+        ],
+        "relationshipStatus": "A String", # The person's relationship status. Possible values include, but are not limited to, the following values:
             # - "single" - Person is single.
             # - "in_a_relationship" - Person is in a relationship.
             # - "engaged" - Person is engaged.
@@ -399,42 +399,7 @@
             # - "widowed" - Person is widowed.
             # - "in_domestic_partnership" - Person is in a domestic partnership.
             # - "in_civil_union" - Person is in a civil union.
-        "aboutMe": "A String", # A short biography for this person.
-        "placesLived": [ # A list of places where this person has lived.
-          {
-            "primary": True or False, # If "true", this place of residence is this person's primary residence.
-            "value": "A String", # A place where this person has lived. For example: "Seattle, WA", "Near Toronto".
-          },
-        ],
-        "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
-        "nickname": "A String", # The nickname of this person.
-        "emails": [ # A list of email addresses that this person has set to public on their Google+ profile. You can also use the userinfo.email scope to retrieve an authenticated user's email address.
-          {
-            "type": "A String", # The type of address. Possible values are:
-                # - "home" - Home email address.
-                # - "work" - Work email address.
-                # - "other" - Other.
-            "primary": True or False, # If "true", indicates this email address is the person's primary one.
-            "value": "A String", # The email address.
-          },
-        ],
-        "organizations": [ # A list of current or past organizations with which this person is associated.
-          {
-            "startDate": "A String", # The date the person joined this organization.
-            "endDate": "A String", # The date the person left this organization.
-            "description": "A String", # A short description of the person's role in this organization. Deprecated.
-            "title": "A String", # The person's job title or role within the organization.
-            "primary": True or False, # If "true", indicates this organization is the person's primary one (typically interpreted as current one).
-            "location": "A String", # The location of this organization. Deprecated.
-            "department": "A String", # The department within the organization. Deprecated.
-            "type": "A String", # The type of organization. Possible values are:
-                # - "work" - Work.
-                # - "school" - School.
-            "name": "A String", # The name of the organization.
-          },
-        ],
-        "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
-        "displayName": "A String", # The name of this person, suitable for display.
+        "displayName": "A String", # The name of this person, which is suitable for display.
         "name": { # An object representation of the individual components of a person's name.
           "honorificPrefix": "A String", # The honorific prefixes (such as "Dr." or "Mrs.") for this person.
           "middleName": "A String", # The middle name of this person.
@@ -445,12 +410,12 @@
         },
         "language": "A String", # The user's preferred language for rendering.
         "url": "A String", # The URL of this person's profile.
-        "gender": "A String", # The person's gender. Possible values are:
+        "gender": "A String", # The person's gender. Possible values include, but are not limited to, the following values:
             # - "male" - Male gender.
             # - "female" - Female gender.
             # - "other" - Other.
         "cover": { # The cover photo content.
-          "layout": "A String", # The layout of the cover art. Possible values are:
+          "layout": "A String", # The layout of the cover art. Possible values include, but are not limited to, the following values:
               # - "banner" - One large image banner.
           "coverInfo": { # Extra information about the cover photo.
             "leftImageOffset": 42, # The difference between the left position of the image cover and the actual displayed cover image. Only valid for BANNER layout.
@@ -466,14 +431,13 @@
         "plusOneCount": 42, # If a Google+ Page, the number of people who have +1'ed this page.
         "urls": [ # A list of URLs for this person.
           {
-            "type": "A String", # The type of URL. Possible values are:
-                # - "home" - URL for home.
-                # - "work" - URL for work.
-                # - "blog" - URL for blog.
-                # - "profile" - URL for profile.
-                # - "other" - Other.
-            "primary": True or False, # If "true", this URL is the person's primary URL.
+            "type": "A String", # The type of URL. Possible values include, but are not limited to, the following values:
+                # - "otherProfile" - URL for another profile.
+                # - "contributor" - URL to a site for which this person is a contributor.
+                # - "website" - URL for this Google+ Page's primary website.
+                # - "other" - Other URL.
             "value": "A String", # The URL value.
+            "label": "A String", # The label of the URL.
           },
         ],
         "ageRange": { # The age range of the person.
@@ -539,17 +503,41 @@
         "image": { # The representation of the person's profile photo.
           "url": "A String", # The URL of the person's profile photo. To re-size the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
         },
-        "hasApp": True or False, # If "true", indicates that the person has installed the app that is making the request and has chosen to expose this install state to the caller. A value of "false" indicates that the install state cannot be determined (it is either not installed or the person has chosen to keep this information private).
         "id": "A String", # The ID of this person.
-        "objectType": "A String", # Type of person within Google+. Possible values are:
+        "objectType": "A String", # Type of person within Google+. Possible values include, but are not limited to, the following values:
             # - "person" - represents an actual person.
             # - "page" - represents a page.
         "verified": True or False, # Whether the person or Google+ Page has been verified.
         "tagline": "A String", # The brief description (tagline) of this person.
-        "currentLocation": "A String", # The current location for this person.
         "etag": "A String", # ETag of this response for caching purposes.
         "circledByCount": 42, # If a Google+ Page and for followers who are visible, the number of people who have added this page to a circle.
-        "relationshipStatus": "A String", # The person's relationship status. Possible values are:
+        "aboutMe": "A String", # A short biography for this person.
+        "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
+        "placesLived": [ # A list of places where this person has lived.
+          {
+            "primary": True or False, # If "true", this place of residence is this person's primary residence.
+            "value": "A String", # A place where this person has lived. For example: "Seattle, WA", "Near Toronto".
+          },
+        ],
+        "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
+        "nickname": "A String", # The nickname of this person.
+        "currentLocation": "A String", # The current location for this person.
+        "organizations": [ # A list of current or past organizations with which this person is associated.
+          {
+            "startDate": "A String", # The date that the person joined this organization.
+            "endDate": "A String", # The date that the person left this organization.
+            "description": "A String", # A short description of the person's role in this organization. Deprecated.
+            "title": "A String", # The person's job title or role within the organization.
+            "primary": True or False, # If "true", indicates this organization is the person's primary one, which is typically interpreted as the current one.
+            "location": "A String", # The location of this organization. Deprecated.
+            "department": "A String", # The department within the organization. Deprecated.
+            "type": "A String", # The type of organization. Possible values include, but are not limited to, the following values:
+                # - "work" - Work.
+                # - "school" - School.
+            "name": "A String", # The name of the organization.
+          },
+        ],
+        "relationshipStatus": "A String", # The person's relationship status. Possible values include, but are not limited to, the following values:
             # - "single" - Person is single.
             # - "in_a_relationship" - Person is in a relationship.
             # - "engaged" - Person is engaged.
@@ -559,42 +547,7 @@
             # - "widowed" - Person is widowed.
             # - "in_domestic_partnership" - Person is in a domestic partnership.
             # - "in_civil_union" - Person is in a civil union.
-        "aboutMe": "A String", # A short biography for this person.
-        "placesLived": [ # A list of places where this person has lived.
-          {
-            "primary": True or False, # If "true", this place of residence is this person's primary residence.
-            "value": "A String", # A place where this person has lived. For example: "Seattle, WA", "Near Toronto".
-          },
-        ],
-        "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
-        "nickname": "A String", # The nickname of this person.
-        "emails": [ # A list of email addresses that this person has set to public on their Google+ profile. You can also use the userinfo.email scope to retrieve an authenticated user's email address.
-          {
-            "type": "A String", # The type of address. Possible values are:
-                # - "home" - Home email address.
-                # - "work" - Work email address.
-                # - "other" - Other.
-            "primary": True or False, # If "true", indicates this email address is the person's primary one.
-            "value": "A String", # The email address.
-          },
-        ],
-        "organizations": [ # A list of current or past organizations with which this person is associated.
-          {
-            "startDate": "A String", # The date the person joined this organization.
-            "endDate": "A String", # The date the person left this organization.
-            "description": "A String", # A short description of the person's role in this organization. Deprecated.
-            "title": "A String", # The person's job title or role within the organization.
-            "primary": True or False, # If "true", indicates this organization is the person's primary one (typically interpreted as current one).
-            "location": "A String", # The location of this organization. Deprecated.
-            "department": "A String", # The department within the organization. Deprecated.
-            "type": "A String", # The type of organization. Possible values are:
-                # - "work" - Work.
-                # - "school" - School.
-            "name": "A String", # The name of the organization.
-          },
-        ],
-        "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
-        "displayName": "A String", # The name of this person, suitable for display.
+        "displayName": "A String", # The name of this person, which is suitable for display.
         "name": { # An object representation of the individual components of a person's name.
           "honorificPrefix": "A String", # The honorific prefixes (such as "Dr." or "Mrs.") for this person.
           "middleName": "A String", # The middle name of this person.
@@ -605,12 +558,12 @@
         },
         "language": "A String", # The user's preferred language for rendering.
         "url": "A String", # The URL of this person's profile.
-        "gender": "A String", # The person's gender. Possible values are:
+        "gender": "A String", # The person's gender. Possible values include, but are not limited to, the following values:
             # - "male" - Male gender.
             # - "female" - Female gender.
             # - "other" - Other.
         "cover": { # The cover photo content.
-          "layout": "A String", # The layout of the cover art. Possible values are:
+          "layout": "A String", # The layout of the cover art. Possible values include, but are not limited to, the following values:
               # - "banner" - One large image banner.
           "coverInfo": { # Extra information about the cover photo.
             "leftImageOffset": 42, # The difference between the left position of the image cover and the actual displayed cover image. Only valid for BANNER layout.
@@ -626,14 +579,13 @@
         "plusOneCount": 42, # If a Google+ Page, the number of people who have +1'ed this page.
         "urls": [ # A list of URLs for this person.
           {
-            "type": "A String", # The type of URL. Possible values are:
-                # - "home" - URL for home.
-                # - "work" - URL for work.
-                # - "blog" - URL for blog.
-                # - "profile" - URL for profile.
-                # - "other" - Other.
-            "primary": True or False, # If "true", this URL is the person's primary URL.
+            "type": "A String", # The type of URL. Possible values include, but are not limited to, the following values:
+                # - "otherProfile" - URL for another profile.
+                # - "contributor" - URL to a site for which this person is a contributor.
+                # - "website" - URL for this Google+ Page's primary website.
+                # - "other" - Other URL.
             "value": "A String", # The URL value.
+            "label": "A String", # The label of the URL.
           },
         ],
         "ageRange": { # The age range of the person.
diff --git a/docs/dyn/prediction_v1_6.hostedmodels.html b/docs/dyn/prediction_v1_6.hostedmodels.html
new file mode 100644
index 0000000..69e85d1
--- /dev/null
+++ b/docs/dyn/prediction_v1_6.hostedmodels.html
@@ -0,0 +1,118 @@
+<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="prediction_v1_6.html">Prediction API</a> . <a href="prediction_v1_6.hostedmodels.html">hostedmodels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#predict">predict(project, hostedModelName, body)</a></code></p>
+<p class="firstline">Submit input and request an output against a hosted model.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="predict">predict(project, hostedModelName, body)</code>
+  <pre>Submit input and request an output against a hosted model.
+
+Args:
+  project: string, The project associated with the model. (required)
+  hostedModelName: string, The name of a hosted model. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "input": { # Input to the model for a prediction.
+      "csvInstance": [ # A list of input features, these can be strings or doubles.
+        "",
+      ],
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "prediction#output", # What kind of resource this is.
+    "outputLabel": "A String", # The most likely class label (Categorical models only).
+    "id": "A String", # The unique name for the predictive model.
+    "outputMulti": [ # A list of class labels with their estimated probabilities (Categorical models only).
+      {
+        "score": "A String", # The probability of the class label.
+        "label": "A String", # The class label.
+      },
+    ],
+    "outputValue": 3.14, # The estimated regression value (Regression models only).
+    "selfLink": "A String", # A URL to re-request this resource.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/prediction_v1_6.html b/docs/dyn/prediction_v1_6.html
new file mode 100644
index 0000000..a6a9760
--- /dev/null
+++ b/docs/dyn/prediction_v1_6.html
@@ -0,0 +1,87 @@
+<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="prediction_v1_6.html">Prediction API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="prediction_v1_6.hostedmodels.html">hostedmodels()</a></code>
+</p>
+<p class="firstline">Returns the hostedmodels Resource.</p>
+
+<p class="toc_element">
+  <code><a href="prediction_v1_6.trainedmodels.html">trainedmodels()</a></code>
+</p>
+<p class="firstline">Returns the trainedmodels Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/prediction_v1_6.trainedmodels.html b/docs/dyn/prediction_v1_6.trainedmodels.html
new file mode 100644
index 0000000..c591ff3
--- /dev/null
+++ b/docs/dyn/prediction_v1_6.trainedmodels.html
@@ -0,0 +1,427 @@
+<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="prediction_v1_6.html">Prediction API</a> . <a href="prediction_v1_6.trainedmodels.html">trainedmodels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#analyze">analyze(project, id)</a></code></p>
+<p class="firstline">Get analysis of the model and the data the model was trained on.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, id)</a></code></p>
+<p class="firstline">Delete a trained model.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, id)</a></code></p>
+<p class="firstline">Check training status of your model.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, body)</a></code></p>
+<p class="firstline">Train a Prediction API model.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List available models.</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="#predict">predict(project, id, body)</a></code></p>
+<p class="firstline">Submit model id and request a prediction.</p>
+<p class="toc_element">
+  <code><a href="#update">update(project, id, body)</a></code></p>
+<p class="firstline">Add new data to a trained model.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="analyze">analyze(project, id)</code>
+  <pre>Get analysis of the model and the data the model was trained on.
+
+Args:
+  project: string, The project associated with the model. (required)
+  id: string, The unique name for the predictive model. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "prediction#analyze", # What kind of resource this is.
+    "errors": [ # List of errors with the data.
+      {
+        "a_key": "A String", # Error level followed by a detailed error message.
+      },
+    ],
+    "dataDescription": { # Description of the data the model was trained on.
+      "outputFeature": { # Description of the output value or label.
+        "text": [ # Description of the output labels in the data set.
+          {
+            "count": "A String", # Number of times the output label occurred in the data set.
+            "value": "A String", # The output label.
+          },
+        ],
+        "numeric": { # Description of the output values in the data set.
+          "count": "A String", # Number of numeric output values in the data set.
+          "variance": "A String", # Variance of the output values in the data set.
+          "mean": "A String", # Mean of the output values in the data set.
+        },
+      },
+      "features": [ # Description of the input features in the data set.
+        {
+          "index": "A String", # The feature index.
+          "text": { # Description of multiple-word text values of this feature.
+            "count": "A String", # Number of multiple-word text values for this feature.
+          },
+          "numeric": { # Description of the numeric values of this feature.
+            "count": "A String", # Number of numeric values for this feature in the data set.
+            "variance": "A String", # Variance of the numeric values of this feature in the data set.
+            "mean": "A String", # Mean of the numeric values of this feature in the data set.
+          },
+          "categorical": { # Description of the categorical values of this feature.
+            "count": "A String", # Number of categorical values for this feature in the data.
+            "values": [ # List of all the categories for this feature in the data set.
+              {
+                "count": "A String", # Number of times this feature had this value.
+                "value": "A String", # The category name.
+              },
+            ],
+          },
+        },
+      ],
+    },
+    "modelDescription": { # Description of the model.
+      "confusionMatrixRowTotals": { # A list of the confusion matrix row totals.
+        "a_key": "A String",
+      },
+      "confusionMatrix": { # An output confusion matrix. This shows an estimate for how this model will do in predictions. This is first indexed by the true class label. For each true class label, this provides a pair {predicted_label, count}, where count is the estimated number of times the model will predict the predicted label given the true label. Will not output if more then 100 classes (Categorical models only).
+        "a_key": { # Confusion matrix information for the true class label.
+          "a_key": "A String", # Average number of times an instance with correct class label modelDescription.confusionMatrix.(key) was wrongfully classified as this label.
+        },
+      },
+      "modelinfo": { # Basic information about the model.
+        "kind": "prediction#training", # What kind of resource this is.
+        "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
+        "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
+        "storageDataLocation": "A String", # Google storage location of the training data file.
+        "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
+        "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
+        "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
+        "modelInfo": { # Model metadata.
+          "numberLabels": "A String", # Number of class labels in the trained model (Categorical models only).
+          "meanSquaredError": "A String", # An estimated mean squared error. The can be used to measure the quality of the predicted model (Regression models only).
+          "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
+          "numberInstances": "A String", # Number of valid data instances used in the trained model.
+          "classWeightedAccuracy": "A String", # Estimated accuracy of model taking utility weights into account (Categorical models only).
+          "classificationAccuracy": "A String", # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data (Categorical models only).
+        },
+        "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
+        "id": "A String", # The unique name for the predictive model.
+        "selfLink": "A String", # A URL to re-request this resource.
+      },
+    },
+    "id": "A String", # The unique name for the predictive model.
+    "selfLink": "A String", # A URL to re-request this resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(project, id)</code>
+  <pre>Delete a trained model.
+
+Args:
+  project: string, The project associated with the model. (required)
+  id: string, The unique name for the predictive model. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, id)</code>
+  <pre>Check training status of your model.
+
+Args:
+  project: string, The project associated with the model. (required)
+  id: string, The unique name for the predictive model. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "prediction#training", # What kind of resource this is.
+    "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
+    "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
+    "storageDataLocation": "A String", # Google storage location of the training data file.
+    "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
+    "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
+    "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
+    "modelInfo": { # Model metadata.
+      "numberLabels": "A String", # Number of class labels in the trained model (Categorical models only).
+      "meanSquaredError": "A String", # An estimated mean squared error. The can be used to measure the quality of the predicted model (Regression models only).
+      "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
+      "numberInstances": "A String", # Number of valid data instances used in the trained model.
+      "classWeightedAccuracy": "A String", # Estimated accuracy of model taking utility weights into account (Categorical models only).
+      "classificationAccuracy": "A String", # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data (Categorical models only).
+    },
+    "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
+    "id": "A String", # The unique name for the predictive model.
+    "selfLink": "A String", # A URL to re-request this resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, body)</code>
+  <pre>Train a Prediction API model.
+
+Args:
+  project: string, The project associated with the model. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "storageDataLocation": "A String", # Google storage location of the training data file.
+    "modelType": "A String", # Type of predictive model (classification or regression).
+    "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
+    "sourceModel": "A String", # The Id of the model to be copied over.
+    "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
+    "trainingInstances": [ # Instances to train model on.
+      {
+        "output": "A String", # The generic output value - could be regression or class label.
+        "csvInstance": [ # The input features for this instance.
+          "",
+        ],
+      },
+    ],
+    "id": "A String", # The unique name for the predictive model.
+    "utility": [ # A class weighting function, which allows the importance weights for class labels to be specified (Categorical models only).
+      { # Class label (string).
+        "a_key": 3.14,
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "prediction#training", # What kind of resource this is.
+    "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
+    "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
+    "storageDataLocation": "A String", # Google storage location of the training data file.
+    "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
+    "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
+    "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
+    "modelInfo": { # Model metadata.
+      "numberLabels": "A String", # Number of class labels in the trained model (Categorical models only).
+      "meanSquaredError": "A String", # An estimated mean squared error. The can be used to measure the quality of the predicted model (Regression models only).
+      "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
+      "numberInstances": "A String", # Number of valid data instances used in the trained model.
+      "classWeightedAccuracy": "A String", # Estimated accuracy of model taking utility weights into account (Categorical models only).
+      "classificationAccuracy": "A String", # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data (Categorical models only).
+    },
+    "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
+    "id": "A String", # The unique name for the predictive model.
+    "selfLink": "A String", # A URL to re-request this resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, pageToken=None, maxResults=None)</code>
+  <pre>List available models.
+
+Args:
+  project: string, The project associated with the model. (required)
+  pageToken: string, Pagination token.
+  maxResults: integer, Maximum number of results to return.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Pagination token to fetch the next page, if one exists.
+    "items": [ # List of models.
+      {
+        "kind": "prediction#training", # What kind of resource this is.
+        "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
+        "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
+        "storageDataLocation": "A String", # Google storage location of the training data file.
+        "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
+        "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
+        "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
+        "modelInfo": { # Model metadata.
+          "numberLabels": "A String", # Number of class labels in the trained model (Categorical models only).
+          "meanSquaredError": "A String", # An estimated mean squared error. The can be used to measure the quality of the predicted model (Regression models only).
+          "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
+          "numberInstances": "A String", # Number of valid data instances used in the trained model.
+          "classWeightedAccuracy": "A String", # Estimated accuracy of model taking utility weights into account (Categorical models only).
+          "classificationAccuracy": "A String", # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data (Categorical models only).
+        },
+        "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
+        "id": "A String", # The unique name for the predictive model.
+        "selfLink": "A String", # A URL to re-request this resource.
+      },
+    ],
+    "kind": "prediction#list", # What kind of resource this is.
+    "selfLink": "A String", # A URL to re-request 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="predict">predict(project, id, body)</code>
+  <pre>Submit model id and request a prediction.
+
+Args:
+  project: string, The project associated with the model. (required)
+  id: string, The unique name for the predictive model. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "input": { # Input to the model for a prediction.
+      "csvInstance": [ # A list of input features, these can be strings or doubles.
+        "",
+      ],
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "prediction#output", # What kind of resource this is.
+    "outputLabel": "A String", # The most likely class label (Categorical models only).
+    "id": "A String", # The unique name for the predictive model.
+    "outputMulti": [ # A list of class labels with their estimated probabilities (Categorical models only).
+      {
+        "score": "A String", # The probability of the class label.
+        "label": "A String", # The class label.
+      },
+    ],
+    "outputValue": 3.14, # The estimated regression value (Regression models only).
+    "selfLink": "A String", # A URL to re-request this resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(project, id, body)</code>
+  <pre>Add new data to a trained model.
+
+Args:
+  project: string, The project associated with the model. (required)
+  id: string, The unique name for the predictive model. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "output": "A String", # The generic output value - could be regression or class label.
+    "csvInstance": [ # The input features for this instance.
+      "",
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "prediction#training", # What kind of resource this is.
+    "created": "A String", # Insert time of the model (as a RFC 3339 timestamp).
+    "trainingComplete": "A String", # Training completion time (as a RFC 3339 timestamp).
+    "storageDataLocation": "A String", # Google storage location of the training data file.
+    "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
+    "storagePMMLModelLocation": "A String", # Google storage location of the pmml model file.
+    "trainingStatus": "A String", # The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
+    "modelInfo": { # Model metadata.
+      "numberLabels": "A String", # Number of class labels in the trained model (Categorical models only).
+      "meanSquaredError": "A String", # An estimated mean squared error. The can be used to measure the quality of the predicted model (Regression models only).
+      "modelType": "A String", # Type of predictive model (CLASSIFICATION or REGRESSION).
+      "numberInstances": "A String", # Number of valid data instances used in the trained model.
+      "classWeightedAccuracy": "A String", # Estimated accuracy of model taking utility weights into account (Categorical models only).
+      "classificationAccuracy": "A String", # A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an estimate, based on the amount and quality of the training data, of the estimated prediction accuracy. You can use this is a guide to decide whether the results are accurate enough for your needs. This estimate will be more reliable if your real input data is similar to your training data (Categorical models only).
+    },
+    "storagePMMLLocation": "A String", # Google storage location of the preprocessing pmml file.
+    "id": "A String", # The unique name for the predictive model.
+    "selfLink": "A String", # A URL to re-request this resource.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/reseller_v1.customers.html b/docs/dyn/reseller_v1.customers.html
index 0d4a6da..8f9e31e 100644
--- a/docs/dyn/reseller_v1.customers.html
+++ b/docs/dyn/reseller_v1.customers.html
@@ -101,6 +101,7 @@
       "customerDomain": "A String", # The domain name of the customer.
       "alternateEmail": "A String", # The alternate email of the customer.
       "kind": "reseller#customer", # Identifies the resource as a customer.
+      "resourceUiUrl": "A String", # Ui url for customer resource.
       "phoneNumber": "A String", # The phone number of the customer.
       "postalAddress": { # JSON template for address of a customer. # The postal address of the customer.
         "kind": "customers#address", # Identifies the resource as a customer address.
@@ -130,6 +131,7 @@
     "customerDomain": "A String", # The domain name of the customer.
     "alternateEmail": "A String", # The alternate email of the customer.
     "kind": "reseller#customer", # Identifies the resource as a customer.
+    "resourceUiUrl": "A String", # Ui url for customer resource.
     "phoneNumber": "A String", # The phone number of the customer.
     "postalAddress": { # JSON template for address of a customer. # The postal address of the customer.
       "kind": "customers#address", # Identifies the resource as a customer address.
@@ -155,6 +157,7 @@
       "customerDomain": "A String", # The domain name of the customer.
       "alternateEmail": "A String", # The alternate email of the customer.
       "kind": "reseller#customer", # Identifies the resource as a customer.
+      "resourceUiUrl": "A String", # Ui url for customer resource.
       "phoneNumber": "A String", # The phone number of the customer.
       "postalAddress": { # JSON template for address of a customer. # The postal address of the customer.
         "kind": "customers#address", # Identifies the resource as a customer address.
@@ -185,6 +188,7 @@
     "customerDomain": "A String", # The domain name of the customer.
     "alternateEmail": "A String", # The alternate email of the customer.
     "kind": "reseller#customer", # Identifies the resource as a customer.
+    "resourceUiUrl": "A String", # Ui url for customer resource.
     "phoneNumber": "A String", # The phone number of the customer.
     "postalAddress": { # JSON template for address of a customer. # The postal address of the customer.
       "kind": "customers#address", # Identifies the resource as a customer address.
@@ -209,6 +213,7 @@
       "customerDomain": "A String", # The domain name of the customer.
       "alternateEmail": "A String", # The alternate email of the customer.
       "kind": "reseller#customer", # Identifies the resource as a customer.
+      "resourceUiUrl": "A String", # Ui url for customer resource.
       "phoneNumber": "A String", # The phone number of the customer.
       "postalAddress": { # JSON template for address of a customer. # The postal address of the customer.
         "kind": "customers#address", # Identifies the resource as a customer address.
@@ -239,6 +244,7 @@
     "customerDomain": "A String", # The domain name of the customer.
     "alternateEmail": "A String", # The alternate email of the customer.
     "kind": "reseller#customer", # Identifies the resource as a customer.
+    "resourceUiUrl": "A String", # Ui url for customer resource.
     "phoneNumber": "A String", # The phone number of the customer.
     "postalAddress": { # JSON template for address of a customer. # The postal address of the customer.
       "kind": "customers#address", # Identifies the resource as a customer address.
@@ -263,6 +269,7 @@
       "customerDomain": "A String", # The domain name of the customer.
       "alternateEmail": "A String", # The alternate email of the customer.
       "kind": "reseller#customer", # Identifies the resource as a customer.
+      "resourceUiUrl": "A String", # Ui url for customer resource.
       "phoneNumber": "A String", # The phone number of the customer.
       "postalAddress": { # JSON template for address of a customer. # The postal address of the customer.
         "kind": "customers#address", # Identifies the resource as a customer address.
diff --git a/docs/dyn/reseller_v1.subscriptions.html b/docs/dyn/reseller_v1.subscriptions.html
index bf3a9fa..d9b420d 100644
--- a/docs/dyn/reseller_v1.subscriptions.html
+++ b/docs/dyn/reseller_v1.subscriptions.html
@@ -93,7 +93,7 @@
   <code><a href="#insert">insert(customerId, body, customerAuthToken=None)</a></code></p>
 <p class="firstline">Creates/Transfers a subscription for the customer.</p>
 <p class="toc_element">
-  <code><a href="#list">list(pageToken=None, maxResults=None, customerNamePrefix=None)</a></code></p>
+  <code><a href="#list">list(customerAuthToken=None, pageToken=None, maxResults=None, customerNamePrefix=None, customerId=None)</a></code></p>
 <p class="firstline">Lists subscriptions of a reseller, optionally filtered by a customer name prefix.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -138,12 +138,18 @@
         "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch.
         "isInTrial": True or False, # Whether the subscription is in trial.
       },
+      "transferInfo": { # Transfer related information for the subscription.
+        "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire.
+        "minimumTransferableSeats": 42,
+      },
+      "resourceUiUrl": "A String", # Ui url for subscription resource.
       "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan.
         "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
         "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
         "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
       },
       "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
+      "status": "A String", # Status of the subscription.
       "plan": { # Plan details of the subscription
         "planName": "A String", # The plan name of this subscription's plan.
         "commitmentInterval": { # Interval of the commitment if it is a commitment plan.
@@ -188,12 +194,18 @@
         "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch.
         "isInTrial": True or False, # Whether the subscription is in trial.
       },
+      "transferInfo": { # Transfer related information for the subscription.
+        "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire.
+        "minimumTransferableSeats": 42,
+      },
+      "resourceUiUrl": "A String", # Ui url for subscription resource.
       "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan.
         "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
         "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
         "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
       },
       "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
+      "status": "A String", # Status of the subscription.
       "plan": { # Plan details of the subscription
         "planName": "A String", # The plan name of this subscription's plan.
         "commitmentInterval": { # Interval of the commitment if it is a commitment plan.
@@ -239,12 +251,18 @@
         "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch.
         "isInTrial": True or False, # Whether the subscription is in trial.
       },
+      "transferInfo": { # Transfer related information for the subscription.
+        "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire.
+        "minimumTransferableSeats": 42,
+      },
+      "resourceUiUrl": "A String", # Ui url for subscription resource.
       "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan.
         "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
         "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
         "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
       },
       "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
+      "status": "A String", # Status of the subscription.
       "plan": { # Plan details of the subscription
         "planName": "A String", # The plan name of this subscription's plan.
         "commitmentInterval": { # Interval of the commitment if it is a commitment plan.
@@ -296,12 +314,18 @@
         "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch.
         "isInTrial": True or False, # Whether the subscription is in trial.
       },
+      "transferInfo": { # Transfer related information for the subscription.
+        "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire.
+        "minimumTransferableSeats": 42,
+      },
+      "resourceUiUrl": "A String", # Ui url for subscription resource.
       "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan.
         "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
         "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
         "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
       },
       "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
+      "status": "A String", # Status of the subscription.
       "plan": { # Plan details of the subscription
         "planName": "A String", # The plan name of this subscription's plan.
         "commitmentInterval": { # Interval of the commitment if it is a commitment plan.
@@ -336,12 +360,18 @@
       "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch.
       "isInTrial": True or False, # Whether the subscription is in trial.
     },
+    "transferInfo": { # Transfer related information for the subscription.
+      "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire.
+      "minimumTransferableSeats": 42,
+    },
+    "resourceUiUrl": "A String", # Ui url for subscription resource.
     "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan.
       "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
       "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
       "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
     },
     "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
+    "status": "A String", # Status of the subscription.
     "plan": { # Plan details of the subscription
       "planName": "A String", # The plan name of this subscription's plan.
       "commitmentInterval": { # Interval of the commitment if it is a commitment plan.
@@ -371,12 +401,18 @@
         "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch.
         "isInTrial": True or False, # Whether the subscription is in trial.
       },
+      "transferInfo": { # Transfer related information for the subscription.
+        "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire.
+        "minimumTransferableSeats": 42,
+      },
+      "resourceUiUrl": "A String", # Ui url for subscription resource.
       "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan.
         "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
         "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
         "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
       },
       "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
+      "status": "A String", # Status of the subscription.
       "plan": { # Plan details of the subscription
         "planName": "A String", # The plan name of this subscription's plan.
         "commitmentInterval": { # Interval of the commitment if it is a commitment plan.
@@ -392,13 +428,15 @@
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(pageToken=None, maxResults=None, customerNamePrefix=None)</code>
+    <code class="details" id="list">list(customerAuthToken=None, pageToken=None, maxResults=None, customerNamePrefix=None, customerId=None)</code>
   <pre>Lists subscriptions of a reseller, optionally filtered by a customer name prefix.
 
 Args:
+  customerAuthToken: string, An auth token needed if the customer is not a resold customer of this reseller. Can be generated at https://www.google.com/a/cpanel/customer-domain/TransferToken.Optional.
   pageToken: string, Token to specify next page in the list
   maxResults: integer, Maximum number of results to return
   customerNamePrefix: string, Prefix of the customer's domain name by which the subscriptions should be filtered. Optional
+  customerId: string, Id of the Customer
 
 Returns:
   An object of the form:
@@ -418,12 +456,18 @@
             "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch.
             "isInTrial": True or False, # Whether the subscription is in trial.
           },
+          "transferInfo": { # Transfer related information for the subscription.
+            "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire.
+            "minimumTransferableSeats": 42,
+          },
+          "resourceUiUrl": "A String", # Ui url for subscription resource.
           "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan.
             "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
             "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
             "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
           },
           "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
+          "status": "A String", # Status of the subscription.
           "plan": { # Plan details of the subscription
             "planName": "A String", # The plan name of this subscription's plan.
             "commitmentInterval": { # Interval of the commitment if it is a commitment plan.
@@ -476,12 +520,18 @@
         "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch.
         "isInTrial": True or False, # Whether the subscription is in trial.
       },
+      "transferInfo": { # Transfer related information for the subscription.
+        "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire.
+        "minimumTransferableSeats": 42,
+      },
+      "resourceUiUrl": "A String", # Ui url for subscription resource.
       "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan.
         "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request.
         "numberOfSeats": 42, # Number of seats to purchase. This is applicable only for a commitment plan.
         "maximumNumberOfSeats": 42, # Maximum number of seats that can be purchased. This needs to be provided only for a non-commitment plan. For a commitment plan it is decided by the contract.
       },
       "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch.
+      "status": "A String", # Status of the subscription.
       "plan": { # Plan details of the subscription
         "planName": "A String", # The plan name of this subscription's plan.
         "commitmentInterval": { # Interval of the commitment if it is a commitment plan.
diff --git a/docs/dyn/shopping_v1.products.html b/docs/dyn/shopping_v1.products.html
index 136a9d2..3749199 100644
--- a/docs/dyn/shopping_v1.products.html
+++ b/docs/dyn/shopping_v1.products.html
@@ -75,14 +75,14 @@
 <h1><a href="shopping_v1.html">Search API For Shopping</a> . <a href="shopping_v1.products.html">products</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
-  <code><a href="#get">get(source, accountId, productIdType, productId, taxonomy=None, recommendations_useGcsConfig=None, plusOne_enabled=None, recommendations_include=None, location=None, recommendations_enabled=None, categories_enabled=None, attributeFilter=None, categories_useGcsConfig=None, plusOne_styles=None, thumbnails=None, categories_include=None, plusOne_useGcsConfig=None)</a></code></p>
+  <code><a href="#get">get(source, accountId, productIdType, productId, taxonomy=None, recommendations_useGcsConfig=None, recommendations_include=None, location=None, recommendations_enabled=None, categories_enabled=None, attributeFilter=None, categories_useGcsConfig=None, thumbnails=None, categories_include=None)</a></code></p>
 <p class="firstline">Returns a single product</p>
 <p class="toc_element">
-  <code><a href="#list">list(source, facets_enabled=None, rankBy=None, taxonomy=None, promotions_enabled=None, experimentId=None, channels=None, facets_discover=None, startIndex=None, availability=None, crowdBy=None, spelling_enabled=None, categoryRecommendations_category=None, extras_enabled=None, facets_includeEmptyBuckets=None, categoryRecommendations_enabled=None, extras_info=None, spelling_useGcsConfig=None, useCase=None, location=None, maxVariants=None, plusOne_styles=None, plusOne_enabled=None, relatedQueries_enabled=None, facets_useGcsConfig=None, categoryRecommendations_useGcsConfig=None, boostBy=None, safe=None, maxResults=None, categories_enabled=None, attributeFilter=None, categoryRecommendations_include=None, categories_useGcsConfig=None, clickTracking=None, facets_include=None, thumbnails=None, language=None, currency=None, categories_include=None, redirects_enabled=None, restrictBy=None, q=None, redirects_useGcsConfig=None, plusOne_useGcsConfig=None, relatedQueries_useGcsConfig=None, promotions_useGcsConfig=None, country=None)</a></code></p>
+  <code><a href="#list">list(source, facets_enabled=None, rankBy=None, taxonomy=None, promotions_enabled=None, channels=None, facets_discover=None, startIndex=None, availability=None, crowdBy=None, spelling_enabled=None, categoryRecommendations_category=None, extras_enabled=None, facets_includeEmptyBuckets=None, categoryRecommendations_enabled=None, extras_info=None, spelling_useGcsConfig=None, useCase=None, location=None, maxVariants=None, relatedQueries_enabled=None, facets_useGcsConfig=None, categoryRecommendations_useGcsConfig=None, boostBy=None, safe=None, maxResults=None, categories_enabled=None, attributeFilter=None, categoryRecommendations_include=None, categories_useGcsConfig=None, clickTracking=None, facets_include=None, thumbnails=None, language=None, currency=None, categories_include=None, redirects_enabled=None, restrictBy=None, q=None, redirects_useGcsConfig=None, country=None, relatedQueries_useGcsConfig=None, promotions_useGcsConfig=None)</a></code></p>
 <p class="firstline">Returns a list of products and content modules</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="get">get(source, accountId, productIdType, productId, taxonomy=None, recommendations_useGcsConfig=None, plusOne_enabled=None, recommendations_include=None, location=None, recommendations_enabled=None, categories_enabled=None, attributeFilter=None, categories_useGcsConfig=None, plusOne_styles=None, thumbnails=None, categories_include=None, plusOne_useGcsConfig=None)</code>
+    <code class="details" id="get">get(source, accountId, productIdType, productId, taxonomy=None, recommendations_useGcsConfig=None, recommendations_include=None, location=None, recommendations_enabled=None, categories_enabled=None, attributeFilter=None, categories_useGcsConfig=None, thumbnails=None, categories_include=None)</code>
   <pre>Returns a single product
 
 Args:
@@ -92,17 +92,14 @@
   productId: string, Id of product (required)
   taxonomy: string, Merchant taxonomy
   recommendations_useGcsConfig: boolean, This parameter is currently ignored
-  plusOne_enabled: boolean, Whether to return +1 button code
   recommendations_include: string, Recommendation specification
   location: string, Location used to determine tax and shipping
   recommendations_enabled: boolean, Whether to return recommendation information
   categories_enabled: boolean, Whether to return category information
   attributeFilter: string, Comma separated list of attributes to return
   categories_useGcsConfig: boolean, This parameter is currently ignored
-  plusOne_styles: string, +1 button rendering styles
   thumbnails: string, Thumbnail specification
   categories_include: string, Category specification
-  plusOne_useGcsConfig: boolean, Whether to use +1 button styles configured in the GCS account
 
 Returns:
   An object of the form:
@@ -207,6 +204,11 @@
         "A String",
       ],
       "plusOne": "A String", # Code to add to the page to render the +1 content.
+      "internal16": { # Google Internal. Attribute names are deliberately vague.
+        "length": 42,
+        "number": 42,
+        "size": "A String",
+      },
       "googleId": "A String", # Google id of product.
       "internal15": 3.14, # Google Internal.
     },
@@ -312,6 +314,11 @@
                 "A String",
               ],
               "plusOne": "A String", # Code to add to the page to render the +1 content.
+              "internal16": { # Google Internal. Attribute names are deliberately vague.
+                "length": 42,
+                "number": 42,
+                "size": "A String",
+              },
               "googleId": "A String", # Google id of product.
               "internal15": 3.14, # Google Internal.
             },
@@ -353,7 +360,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(source, facets_enabled=None, rankBy=None, taxonomy=None, promotions_enabled=None, experimentId=None, channels=None, facets_discover=None, startIndex=None, availability=None, crowdBy=None, spelling_enabled=None, categoryRecommendations_category=None, extras_enabled=None, facets_includeEmptyBuckets=None, categoryRecommendations_enabled=None, extras_info=None, spelling_useGcsConfig=None, useCase=None, location=None, maxVariants=None, plusOne_styles=None, plusOne_enabled=None, relatedQueries_enabled=None, facets_useGcsConfig=None, categoryRecommendations_useGcsConfig=None, boostBy=None, safe=None, maxResults=None, categories_enabled=None, attributeFilter=None, categoryRecommendations_include=None, categories_useGcsConfig=None, clickTracking=None, facets_include=None, thumbnails=None, language=None, currency=None, categories_include=None, redirects_enabled=None, restrictBy=None, q=None, redirects_useGcsConfig=None, plusOne_useGcsConfig=None, relatedQueries_useGcsConfig=None, promotions_useGcsConfig=None, country=None)</code>
+    <code class="details" id="list">list(source, facets_enabled=None, rankBy=None, taxonomy=None, promotions_enabled=None, channels=None, facets_discover=None, startIndex=None, availability=None, crowdBy=None, spelling_enabled=None, categoryRecommendations_category=None, extras_enabled=None, facets_includeEmptyBuckets=None, categoryRecommendations_enabled=None, extras_info=None, spelling_useGcsConfig=None, useCase=None, location=None, maxVariants=None, relatedQueries_enabled=None, facets_useGcsConfig=None, categoryRecommendations_useGcsConfig=None, boostBy=None, safe=None, maxResults=None, categories_enabled=None, attributeFilter=None, categoryRecommendations_include=None, categories_useGcsConfig=None, clickTracking=None, facets_include=None, thumbnails=None, language=None, currency=None, categories_include=None, redirects_enabled=None, restrictBy=None, q=None, redirects_useGcsConfig=None, country=None, relatedQueries_useGcsConfig=None, promotions_useGcsConfig=None)</code>
   <pre>Returns a list of products and content modules
 
 Args:
@@ -362,7 +369,6 @@
   rankBy: string, Ranking specification
   taxonomy: string, Taxonomy name
   promotions_enabled: boolean, Whether to return promotion information
-  experimentId: string, The Id of the experiment
   channels: string, Channels specification
   facets_discover: string, Facets to discover
   startIndex: integer, Index (1-based) of first product to return
@@ -378,8 +384,6 @@
   useCase: string, One of CommerceSearchUseCase, ShoppingApiUseCase
   location: string, Location used to determine tax and shipping
   maxVariants: integer, Maximum number of variant results to return per result
-  plusOne_styles: string, +1 button rendering styles
-  plusOne_enabled: boolean, Whether to return +1 button code
   relatedQueries_enabled: boolean, Whether to return related queries
   facets_useGcsConfig: boolean, Whether to return facet information as configured in the GCS account
   categoryRecommendations_useGcsConfig: boolean, This parameter is currently ignored
@@ -400,10 +404,9 @@
   restrictBy: string, Restriction specification
   q: string, Search query
   redirects_useGcsConfig: boolean, Whether to return redirect information as configured in the GCS account
-  plusOne_useGcsConfig: boolean, Whether to use +1 button styles configured in the GCS account
+  country: string, Country restriction (ISO 3166)
   relatedQueries_useGcsConfig: boolean, This parameter is currently ignored
   promotions_useGcsConfig: boolean, Whether to return promotion information as configured in the GCS account
-  country: string, Country restriction (ISO 3166)
 
 Returns:
   An object of the form:
@@ -528,6 +531,11 @@
                 "A String",
               ],
               "plusOne": "A String", # Code to add to the page to render the +1 content.
+              "internal16": { # Google Internal. Attribute names are deliberately vague.
+                "length": 42,
+                "number": 42,
+                "size": "A String",
+              },
               "googleId": "A String", # Google id of product.
               "internal15": 3.14, # Google Internal.
             },
@@ -673,6 +681,11 @@
             "A String",
           ],
           "plusOne": "A String", # Code to add to the page to render the +1 content.
+          "internal16": { # Google Internal. Attribute names are deliberately vague.
+            "length": 42,
+            "number": 42,
+            "size": "A String",
+          },
           "googleId": "A String", # Google id of product.
           "internal15": 3.14, # Google Internal.
         },
@@ -792,6 +805,11 @@
             "A String",
           ],
           "plusOne": "A String", # Code to add to the page to render the +1 content.
+          "internal16": { # Google Internal. Attribute names are deliberately vague.
+            "length": 42,
+            "number": 42,
+            "size": "A String",
+          },
           "googleId": "A String", # Google id of product.
           "internal15": 3.14, # Google Internal.
         },
@@ -897,6 +915,11 @@
                     "A String",
                   ],
                   "plusOne": "A String", # Code to add to the page to render the +1 content.
+                  "internal16": { # Google Internal. Attribute names are deliberately vague.
+                    "length": 42,
+                    "number": 42,
+                    "size": "A String",
+                  },
                   "googleId": "A String", # Google id of product.
                   "internal15": 3.14, # Google Internal.
                 },
diff --git a/docs/dyn/sqladmin_v1beta1.backupRuns.html b/docs/dyn/sqladmin_v1beta1.backupRuns.html
new file mode 100644
index 0000000..d563e18
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta1.backupRuns.html
@@ -0,0 +1,166 @@
+<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="sqladmin_v1beta1.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta1.backupRuns.html">backupRuns</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(project, instance, backupConfiguration, dueTime)</a></code></p>
+<p class="firstline">Retrieves a resource containing information about a backup run.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, instance, backupConfiguration, maxResults=None, pageToken=None)</a></code></p>
+<p class="firstline">Lists all backup runs associated with a given instance and configuration in the reverse chronological order of the enqueued time.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(project, instance, backupConfiguration, dueTime)</code>
+  <pre>Retrieves a resource containing information about a backup run.
+
+Args:
+  project: string, Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+  backupConfiguration: string, Identifier for the backup configuration. This gets generated automatically when a backup configuration is created. (required)
+  dueTime: string, The time when this run is due to start in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. (required)
+
+Returns:
+  An object of the form:
+
+    { # A database instance backup run resource.
+    "status": "A String", # The status of this run.
+    "kind": "sql#backupRun", # This is always sql#backupRun.
+    "backupConfiguration": "A String", # Backup Configuration identifier.
+    "instance": "A String", # Name of the database instance.
+    "startTime": "A String", # The time the backup operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "error": { # Database instance operation error. # Information about why the backup operation failed. This is only present if the run has the FAILED status.
+      "kind": "sql#operationError", # This is always sql#operationError.
+      "code": "A String", # Identifies the specific error that occurred.
+    },
+    "endTime": "A String", # The time the backup operation completed in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "enqueuedTime": "A String", # The time the run was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "dueTime": "A String", # The due time of this run in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, instance, backupConfiguration, maxResults=None, pageToken=None)</code>
+  <pre>Lists all backup runs associated with a given instance and configuration in the reverse chronological order of the enqueued time.
+
+Args:
+  project: string, Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+  backupConfiguration: string, Identifier for the backup configuration. This gets generated automatically when a backup configuration is created. (required)
+  maxResults: integer, Maximum number of backup runs per response.
+  pageToken: string, A previously-returned page token representing part of the larger set of results to view.
+
+Returns:
+  An object of the form:
+
+    { # Backup run list results.
+    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "items": [ # A list of backup runs in reverse chronological order of the enqueued time.
+      { # A database instance backup run resource.
+        "status": "A String", # The status of this run.
+        "kind": "sql#backupRun", # This is always sql#backupRun.
+        "backupConfiguration": "A String", # Backup Configuration identifier.
+        "instance": "A String", # Name of the database instance.
+        "startTime": "A String", # The time the backup operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+        "error": { # Database instance operation error. # Information about why the backup operation failed. This is only present if the run has the FAILED status.
+          "kind": "sql#operationError", # This is always sql#operationError.
+          "code": "A String", # Identifies the specific error that occurred.
+        },
+        "endTime": "A String", # The time the backup operation completed in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+        "enqueuedTime": "A String", # The time the run was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+        "dueTime": "A String", # The due time of this run in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+      },
+    ],
+    "kind": "sql#backupRunsList", # This is always sql#backupRunsList.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta1.html b/docs/dyn/sqladmin_v1beta1.html
new file mode 100644
index 0000000..c3d98c0
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta1.html
@@ -0,0 +1,97 @@
+<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="sqladmin_v1beta1.html">Cloud SQL Administration API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="sqladmin_v1beta1.backupRuns.html">backupRuns()</a></code>
+</p>
+<p class="firstline">Returns the backupRuns Resource.</p>
+
+<p class="toc_element">
+  <code><a href="sqladmin_v1beta1.instances.html">instances()</a></code>
+</p>
+<p class="firstline">Returns the instances Resource.</p>
+
+<p class="toc_element">
+  <code><a href="sqladmin_v1beta1.operations.html">operations()</a></code>
+</p>
+<p class="firstline">Returns the operations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="sqladmin_v1beta1.tiers.html">tiers()</a></code>
+</p>
+<p class="firstline">Returns the tiers Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta1.instances.html b/docs/dyn/sqladmin_v1beta1.instances.html
new file mode 100644
index 0000000..f99ea80
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta1.instances.html
@@ -0,0 +1,521 @@
+<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="sqladmin_v1beta1.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta1.instances.html">instances</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, instance)</a></code></p>
+<p class="firstline">Deletes a database instance.</p>
+<p class="toc_element">
+  <code><a href="#export">export(project, instance, body)</a></code></p>
+<p class="firstline">Exports data from a database instance to a Google Cloud Storage bucket as a MySQL dump file.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, instance)</a></code></p>
+<p class="firstline">Retrieves a resource containing information about a database instance.</p>
+<p class="toc_element">
+  <code><a href="#import_">import_(project, instance, body)</a></code></p>
+<p class="firstline">Imports data into a database instance from a MySQL dump file in Google Cloud Storage.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, body)</a></code></p>
+<p class="firstline">Creates a new database instance.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists instances under a given project in the alphabetical order of the instance name.</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="#patch">patch(project, instance, body)</a></code></p>
+<p class="firstline">Updates settings of a database instance. Caution: This is not a partial update, so you must include values for all the settings that you want to retain. For partial updates, use patch.. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#restart">restart(project, instance)</a></code></p>
+<p class="firstline">Restarts a database instance.</p>
+<p class="toc_element">
+  <code><a href="#restoreBackup">restoreBackup(project, instance, backupConfiguration, dueTime)</a></code></p>
+<p class="firstline">Restores a backup of a database instance.</p>
+<p class="toc_element">
+  <code><a href="#update">update(project, instance, body)</a></code></p>
+<p class="firstline">Updates settings of a database instance. Caution: This is not a partial update, so you must include values for all the settings that you want to retain. For partial updates, use patch.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(project, instance)</code>
+  <pre>Deletes a database instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance to be deleted. You can find this on the project summary page of the Google APIs Console. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Database instance delete response.
+    "kind": "sql#instancesDelete", # This is always sql#instancesDelete.
+    "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="export">export(project, instance, body)</code>
+  <pre>Exports data from a database instance to a Google Cloud Storage bucket as a MySQL dump file.
+
+Args:
+  project: string, Project ID of the project that contains the instance to be exported. You can find this on the project summary page of the Google APIs Console. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Database instance export request.
+    "exportContext": { # Database instance export context. # Contains details about the export operation.
+      "table": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+        "A String",
+      ],
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored, or where it was already stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If the filename ends with .gz, the contents are compressed.
+      "database": [ # Databases (for example, guestbook) from which the export is made. If unspecified, all databases are exported.
+        "A String",
+      ],
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Database instance export response.
+    "kind": "sql#instancesExport", # This is always sql#instancesExport.
+    "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, instance)</code>
+  <pre>Retrieves a resource containing information about a database instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # A database instance resource.
+      "project": "A String", # The project ID of the project containing the database instance. The Google apps domain is prefixed if applicable. You can find this on the project summary page of the Google APIs Console.
+      "kind": "sql#instance", # This is always sql#instance.
+      "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
+      "settings": { # Database instance settings. # The user settings.
+        "kind": "sql#settings", # This is always sql#settings.
+        "authorizedGaeApplications": [ # The AppEngine app ids that can access this instance.
+          "A String",
+        ],
+        "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following.
+            # ALWAYS: The instance should always be active.
+            # NEVER: The instance should never be activated.
+            # ON_DEMAND: The instance is activated upon receiving requests.
+        "backupConfiguration": [ # The daily backup configuration for the instance.
+          { # Database instance backup configuration.
+            "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration.
+            "enabled": True or False, # Whether this configuration is enabled.
+            "id": "A String", # Identifier for this configuration. This gets generated automatically when a backup configuration is created.
+            "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
+          },
+        ],
+        "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE.
+        "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS.
+        "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing.
+      },
+      "region": "A String", # The geographical region. Can be us-east1 or europe-west1. Defaults to us-east1. The region can not be changed after instance creation.
+      "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
+      "instance": "A String", # Name of the database instance. This does not include the project ID.
+      "state": "A String", # The current serving state of the database instance. This can be one of the following.
+          # RUNNABLE: The instance is running, or is ready to run when accessed.
+          # SUSPENDED: The instance is not available, for example due to problems with billing.
+          # PENDING_CREATE: The instance is being created.
+          # MAINTENANCE: The instance is down for maintenance.
+          # UNKNOWN_STATE: The state of the instance is unknown.
+      "etag": "A String", # Etag for this resource - a version number for the settings object in this resource. This field has no effect when passed as a request parameter. Instead, the contents of this field should be passed in an 'If-Match' http header for use in optimistic locking.
+      "databaseVersion": "A String", # The database engine type and version, for example MYSQL_5_5 for MySQL 5.5.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="import_">import_(project, instance, body)</code>
+  <pre>Imports data into a database instance from a MySQL dump file in Google Cloud Storage.
+
+Args:
+  project: string, Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Database instance import request.
+    "importContext": { # Database instance import context. # Contains details about the import operation.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": [ # A path to the MySQL dump file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported.
+        "A String",
+      ],
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If not set, it is assumed that the database is specified in the file to be imported.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Database instance import response.
+    "kind": "sql#instancesImport", # This is always sql#instancesImport.
+    "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, body)</code>
+  <pre>Creates a new database instance.
+
+Args:
+  project: string, Project ID of the project to which the newly created database instances should belong. You can find this on the project summary page of the Google APIs Console. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A database instance resource.
+    "project": "A String", # The project ID of the project containing the database instance. The Google apps domain is prefixed if applicable. You can find this on the project summary page of the Google APIs Console.
+    "kind": "sql#instance", # This is always sql#instance.
+    "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
+    "settings": { # Database instance settings. # The user settings.
+      "kind": "sql#settings", # This is always sql#settings.
+      "authorizedGaeApplications": [ # The AppEngine app ids that can access this instance.
+        "A String",
+      ],
+      "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following.
+          # ALWAYS: The instance should always be active.
+          # NEVER: The instance should never be activated.
+          # ON_DEMAND: The instance is activated upon receiving requests.
+      "backupConfiguration": [ # The daily backup configuration for the instance.
+        { # Database instance backup configuration.
+          "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration.
+          "enabled": True or False, # Whether this configuration is enabled.
+          "id": "A String", # Identifier for this configuration. This gets generated automatically when a backup configuration is created.
+          "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
+        },
+      ],
+      "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE.
+      "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS.
+      "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing.
+    },
+    "region": "A String", # The geographical region. Can be us-east1 or europe-west1. Defaults to us-east1. The region can not be changed after instance creation.
+    "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
+    "instance": "A String", # Name of the database instance. This does not include the project ID.
+    "state": "A String", # The current serving state of the database instance. This can be one of the following.
+        # RUNNABLE: The instance is running, or is ready to run when accessed.
+        # SUSPENDED: The instance is not available, for example due to problems with billing.
+        # PENDING_CREATE: The instance is being created.
+        # MAINTENANCE: The instance is down for maintenance.
+        # UNKNOWN_STATE: The state of the instance is unknown.
+    "etag": "A String", # Etag for this resource - a version number for the settings object in this resource. This field has no effect when passed as a request parameter. Instead, the contents of this field should be passed in an 'If-Match' http header for use in optimistic locking.
+    "databaseVersion": "A String", # The database engine type and version, for example MYSQL_5_5 for MySQL 5.5.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Database instance insert response.
+    "kind": "sql#instancesInsert", # This is always sql#instancesInsert.
+    "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, pageToken=None, maxResults=None)</code>
+  <pre>Lists instances under a given project in the alphabetical order of the instance name.
+
+Args:
+  project: string, Project ID of the project for which to list database instances. You can find this on the project summary page of the Google APIs Console. (required)
+  pageToken: string, A previously-returned page token representing part of the larger set of results to view.
+  maxResults: integer, The maximum number of results to return per response.
+
+Returns:
+  An object of the form:
+
+    { # Database instances list response.
+    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "items": [ # List of database instance resources.
+      { # A database instance resource.
+          "project": "A String", # The project ID of the project containing the database instance. The Google apps domain is prefixed if applicable. You can find this on the project summary page of the Google APIs Console.
+          "kind": "sql#instance", # This is always sql#instance.
+          "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
+          "settings": { # Database instance settings. # The user settings.
+            "kind": "sql#settings", # This is always sql#settings.
+            "authorizedGaeApplications": [ # The AppEngine app ids that can access this instance.
+              "A String",
+            ],
+            "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following.
+                # ALWAYS: The instance should always be active.
+                # NEVER: The instance should never be activated.
+                # ON_DEMAND: The instance is activated upon receiving requests.
+            "backupConfiguration": [ # The daily backup configuration for the instance.
+              { # Database instance backup configuration.
+                "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration.
+                "enabled": True or False, # Whether this configuration is enabled.
+                "id": "A String", # Identifier for this configuration. This gets generated automatically when a backup configuration is created.
+                "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
+              },
+            ],
+            "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE.
+            "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS.
+            "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing.
+          },
+          "region": "A String", # The geographical region. Can be us-east1 or europe-west1. Defaults to us-east1. The region can not be changed after instance creation.
+          "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
+          "instance": "A String", # Name of the database instance. This does not include the project ID.
+          "state": "A String", # The current serving state of the database instance. This can be one of the following.
+              # RUNNABLE: The instance is running, or is ready to run when accessed.
+              # SUSPENDED: The instance is not available, for example due to problems with billing.
+              # PENDING_CREATE: The instance is being created.
+              # MAINTENANCE: The instance is down for maintenance.
+              # UNKNOWN_STATE: The state of the instance is unknown.
+          "etag": "A String", # Etag for this resource - a version number for the settings object in this resource. This field has no effect when passed as a request parameter. Instead, the contents of this field should be passed in an 'If-Match' http header for use in optimistic locking.
+          "databaseVersion": "A String", # The database engine type and version, for example MYSQL_5_5 for MySQL 5.5.
+        },
+    ],
+    "kind": "sql#instancesList", # This is always sql#instancesList.
+  }</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="patch">patch(project, instance, body)</code>
+  <pre>Updates settings of a database instance. Caution: This is not a partial update, so you must include values for all the settings that you want to retain. For partial updates, use patch.. This method supports patch semantics.
+
+Args:
+  project: string, Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A database instance resource.
+    "project": "A String", # The project ID of the project containing the database instance. The Google apps domain is prefixed if applicable. You can find this on the project summary page of the Google APIs Console.
+    "kind": "sql#instance", # This is always sql#instance.
+    "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
+    "settings": { # Database instance settings. # The user settings.
+      "kind": "sql#settings", # This is always sql#settings.
+      "authorizedGaeApplications": [ # The AppEngine app ids that can access this instance.
+        "A String",
+      ],
+      "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following.
+          # ALWAYS: The instance should always be active.
+          # NEVER: The instance should never be activated.
+          # ON_DEMAND: The instance is activated upon receiving requests.
+      "backupConfiguration": [ # The daily backup configuration for the instance.
+        { # Database instance backup configuration.
+          "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration.
+          "enabled": True or False, # Whether this configuration is enabled.
+          "id": "A String", # Identifier for this configuration. This gets generated automatically when a backup configuration is created.
+          "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
+        },
+      ],
+      "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE.
+      "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS.
+      "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing.
+    },
+    "region": "A String", # The geographical region. Can be us-east1 or europe-west1. Defaults to us-east1. The region can not be changed after instance creation.
+    "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
+    "instance": "A String", # Name of the database instance. This does not include the project ID.
+    "state": "A String", # The current serving state of the database instance. This can be one of the following.
+        # RUNNABLE: The instance is running, or is ready to run when accessed.
+        # SUSPENDED: The instance is not available, for example due to problems with billing.
+        # PENDING_CREATE: The instance is being created.
+        # MAINTENANCE: The instance is down for maintenance.
+        # UNKNOWN_STATE: The state of the instance is unknown.
+    "etag": "A String", # Etag for this resource - a version number for the settings object in this resource. This field has no effect when passed as a request parameter. Instead, the contents of this field should be passed in an 'If-Match' http header for use in optimistic locking.
+    "databaseVersion": "A String", # The database engine type and version, for example MYSQL_5_5 for MySQL 5.5.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Database instance update response.
+    "kind": "sql#instancesUpdate", # This is always sql#instancesUpdate.
+    "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve information about the operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="restart">restart(project, instance)</code>
+  <pre>Restarts a database instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance to be restarted. You can find this on the project summary page of the Google APIs Console. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Database instance restart response.
+    "kind": "sql#instancesRestart", # This is always sql#instancesRestart.
+    "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="restoreBackup">restoreBackup(project, instance, backupConfiguration, dueTime)</code>
+  <pre>Restores a backup of a database instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+  backupConfiguration: string, The identifier of the backup configuration. This gets generated automatically when a backup configuration is created. (required)
+  dueTime: string, The time when this run is due to start in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. (required)
+
+Returns:
+  An object of the form:
+
+    { # Database instance restore backup response.
+    "kind": "sql#instancesRestoreBackup", # This is always sql#instancesRestoreBackup.
+    "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(project, instance, body)</code>
+  <pre>Updates settings of a database instance. Caution: This is not a partial update, so you must include values for all the settings that you want to retain. For partial updates, use patch.
+
+Args:
+  project: string, Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A database instance resource.
+    "project": "A String", # The project ID of the project containing the database instance. The Google apps domain is prefixed if applicable. You can find this on the project summary page of the Google APIs Console.
+    "kind": "sql#instance", # This is always sql#instance.
+    "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
+    "settings": { # Database instance settings. # The user settings.
+      "kind": "sql#settings", # This is always sql#settings.
+      "authorizedGaeApplications": [ # The AppEngine app ids that can access this instance.
+        "A String",
+      ],
+      "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following.
+          # ALWAYS: The instance should always be active.
+          # NEVER: The instance should never be activated.
+          # ON_DEMAND: The instance is activated upon receiving requests.
+      "backupConfiguration": [ # The daily backup configuration for the instance.
+        { # Database instance backup configuration.
+          "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration.
+          "enabled": True or False, # Whether this configuration is enabled.
+          "id": "A String", # Identifier for this configuration. This gets generated automatically when a backup configuration is created.
+          "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
+        },
+      ],
+      "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE.
+      "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS.
+      "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing.
+    },
+    "region": "A String", # The geographical region. Can be us-east1 or europe-west1. Defaults to us-east1. The region can not be changed after instance creation.
+    "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
+    "instance": "A String", # Name of the database instance. This does not include the project ID.
+    "state": "A String", # The current serving state of the database instance. This can be one of the following.
+        # RUNNABLE: The instance is running, or is ready to run when accessed.
+        # SUSPENDED: The instance is not available, for example due to problems with billing.
+        # PENDING_CREATE: The instance is being created.
+        # MAINTENANCE: The instance is down for maintenance.
+        # UNKNOWN_STATE: The state of the instance is unknown.
+    "etag": "A String", # Etag for this resource - a version number for the settings object in this resource. This field has no effect when passed as a request parameter. Instead, the contents of this field should be passed in an 'If-Match' http header for use in optimistic locking.
+    "databaseVersion": "A String", # The database engine type and version, for example MYSQL_5_5 for MySQL 5.5.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Database instance update response.
+    "kind": "sql#instancesUpdate", # This is always sql#instancesUpdate.
+    "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve information about the operation.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta1.operations.html b/docs/dyn/sqladmin_v1beta1.operations.html
new file mode 100644
index 0000000..4c7b620
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta1.operations.html
@@ -0,0 +1,204 @@
+<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="sqladmin_v1beta1.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta1.operations.html">operations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(project, instance, operation)</a></code></p>
+<p class="firstline">Retrieves an instance operation that has been performed on an instance.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, instance, maxResults=None, pageToken=None)</a></code></p>
+<p class="firstline">Lists all instance operations that have been performed on the given database instance in the reverse chronological order of the start time.</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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(project, instance, operation)</code>
+  <pre>Retrieves an instance operation that has been performed on an instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+  operation: string, Instance operation ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+    "importContext": { # Database instance import context. # The context for import operation, if applicable.
+      "kind": "sql#importContext", # This is always sql#importContext.
+      "uri": [ # A path to the MySQL dump file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported.
+        "A String",
+      ],
+      "database": "A String", # The database (for example, guestbook) to which the import is made. If not set, it is assumed that the database is specified in the file to be imported.
+    },
+    "kind": "sql#instanceOperation", # This is always sql#instanceOperation.
+    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+      "table": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+        "A String",
+      ],
+      "kind": "sql#exportContext", # This is always sql#exportContext.
+      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored, or where it was already stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If the filename ends with .gz, the contents are compressed.
+      "database": [ # Databases (for example, guestbook) from which the export is made. If unspecified, all databases are exported.
+        "A String",
+      ],
+    },
+    "instance": "A String", # Name of the database instance.
+    "state": "A String", # The state of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+    "operationType": "A String", # The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+    "error": [ # The error(s) encountered by this operation. Only set if the operation results in an error.
+      { # Database instance operation error.
+        "kind": "sql#operationError", # This is always sql#operationError.
+        "code": "A String", # Identifies the specific error that occurred.
+      },
+    ],
+    "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "enqueuedTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+    "userEmailAddress": "A String", # The email address of the user who initiated this operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, instance, maxResults=None, pageToken=None)</code>
+  <pre>Lists all instance operations that have been performed on the given database instance in the reverse chronological order of the start time.
+
+Args:
+  project: string, Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+  maxResults: integer, Maximum number of operations per response.
+  pageToken: string, A previously-returned page token representing part of the larger set of results to view.
+
+Returns:
+  An object of the form:
+
+    { # Database instance list operations response.
+    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "items": [ # List of operation resources.
+      { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.
+        "importContext": { # Database instance import context. # The context for import operation, if applicable.
+          "kind": "sql#importContext", # This is always sql#importContext.
+          "uri": [ # A path to the MySQL dump file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported.
+            "A String",
+          ],
+          "database": "A String", # The database (for example, guestbook) to which the import is made. If not set, it is assumed that the database is specified in the file to be imported.
+        },
+        "kind": "sql#instanceOperation", # This is always sql#instanceOperation.
+        "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+        "exportContext": { # Database instance export context. # The context for export operation, if applicable.
+          "table": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
+            "A String",
+          ],
+          "kind": "sql#exportContext", # This is always sql#exportContext.
+          "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored, or where it was already stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If the filename ends with .gz, the contents are compressed.
+          "database": [ # Databases (for example, guestbook) from which the export is made. If unspecified, all databases are exported.
+            "A String",
+          ],
+        },
+        "instance": "A String", # Name of the database instance.
+        "state": "A String", # The state of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
+        "operationType": "A String", # The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME.
+        "error": [ # The error(s) encountered by this operation. Only set if the operation results in an error.
+          { # Database instance operation error.
+            "kind": "sql#operationError", # This is always sql#operationError.
+            "code": "A String", # Identifies the specific error that occurred.
+          },
+        ],
+        "operation": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
+        "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+        "enqueuedTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+        "userEmailAddress": "A String", # The email address of the user who initiated this operation.
+      },
+    ],
+    "kind": "sql#operationsList", # This is always sql#operationsList.
+  }</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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta1.tiers.html b/docs/dyn/sqladmin_v1beta1.tiers.html
new file mode 100644
index 0000000..6db623c
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta1.tiers.html
@@ -0,0 +1,106 @@
+<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="sqladmin_v1beta1.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta1.tiers.html">tiers</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list()</a></code></p>
+<p class="firstline">Lists all available service tiers for Google Cloud SQL, for example D1, D2. For related information, see Pricing.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list()</code>
+  <pre>Lists all available service tiers for Google Cloud SQL, for example D1, D2. For related information, see Pricing.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    { # Tiers list response.
+    "items": [ # List of tiers.
+      { # A Google Cloud SQL service tier resource.
+        "DiskQuota": "A String", # The maximum disk size of this tier in bytes.
+        "tier": "A String", # An identifier for the service tier, for example D1, D2 etc. For related information, see Pricing.
+        "kind": "sql#tier", # This is always sql#tier.
+        "RAM": "A String", # The maximum RAM usage of this tier in bytes.
+        "region": [ # The applicable regions for this tier. Can be us-east1 and europe-west1.
+          "A String",
+        ],
+      },
+    ],
+    "kind": "sql#tiersList", # This is always sql#tiersList.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1beta2.bucketAccessControls.html b/docs/dyn/storage_v1beta2.bucketAccessControls.html
new file mode 100644
index 0000000..b998751
--- /dev/null
+++ b/docs/dyn/storage_v1beta2.bucketAccessControls.html
@@ -0,0 +1,330 @@
+<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="storage_v1beta2.html">Cloud Storage API</a> . <a href="storage_v1beta2.bucketAccessControls.html">bucketAccessControls</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(bucket, entity)</a></code></p>
+<p class="firstline">Permanently deletes the ACL entry for the specified entity on the specified bucket.</p>
+<p class="toc_element">
+  <code><a href="#get">get(bucket, entity)</a></code></p>
+<p class="firstline">Returns the ACL entry for the specified entity on the specified bucket.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(bucket, body)</a></code></p>
+<p class="firstline">Creates a new ACL entry on the specified bucket.</p>
+<p class="toc_element">
+  <code><a href="#list">list(bucket)</a></code></p>
+<p class="firstline">Retrieves ACL entries on the specified bucket.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(bucket, entity, body)</a></code></p>
+<p class="firstline">Updates an ACL entry on the specified bucket. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(bucket, entity, body)</a></code></p>
+<p class="firstline">Updates an ACL entry on the specified bucket.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(bucket, entity)</code>
+  <pre>Permanently deletes the ACL entry for the specified entity on the specified bucket.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(bucket, entity)</code>
+  <pre>Returns the ACL entry for the specified entity on the specified bucket.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
+
+Returns:
+  An object of the form:
+
+    { # An access-control entry.
+      "domain": "A String", # The domain associated with the entity, if any.
+      "bucket": "A String", # The name of the bucket.
+      "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
+      "entity": "A String", # The entity holding the permission, in one of the following forms:
+          # - user-userId
+          # - user-email
+          # - group-groupId
+          # - group-email
+          # - allUsers
+          # - allAuthenticatedUsers
+      "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+      "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
+      "id": "A String", # The ID of the access-control entry.
+      "entityId": "A String", # The ID for the entity, if any.
+      "email": "A String", # The email address associated with the entity, if any.
+      "selfLink": "A String", # The link to this access-control entry.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(bucket, body)</code>
+  <pre>Creates a new ACL entry on the specified bucket.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An access-control entry.
+    "domain": "A String", # The domain associated with the entity, if any.
+    "bucket": "A String", # The name of the bucket.
+    "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
+    "entity": "A String", # The entity holding the permission, in one of the following forms:
+        # - user-userId
+        # - user-email
+        # - group-groupId
+        # - group-email
+        # - allUsers
+        # - allAuthenticatedUsers
+    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+    "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
+    "id": "A String", # The ID of the access-control entry.
+    "entityId": "A String", # The ID for the entity, if any.
+    "email": "A String", # The email address associated with the entity, if any.
+    "selfLink": "A String", # The link to this access-control entry.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An access-control entry.
+      "domain": "A String", # The domain associated with the entity, if any.
+      "bucket": "A String", # The name of the bucket.
+      "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
+      "entity": "A String", # The entity holding the permission, in one of the following forms:
+          # - user-userId
+          # - user-email
+          # - group-groupId
+          # - group-email
+          # - allUsers
+          # - allAuthenticatedUsers
+      "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+      "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
+      "id": "A String", # The ID of the access-control entry.
+      "entityId": "A String", # The ID for the entity, if any.
+      "email": "A String", # The email address associated with the entity, if any.
+      "selfLink": "A String", # The link to this access-control entry.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(bucket)</code>
+  <pre>Retrieves ACL entries on the specified bucket.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+
+Returns:
+  An object of the form:
+
+    { # An access-control list.
+    "items": [ # The list of items.
+      { # An access-control entry.
+          "domain": "A String", # The domain associated with the entity, if any.
+          "bucket": "A String", # The name of the bucket.
+          "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
+          "entity": "A String", # The entity holding the permission, in one of the following forms:
+              # - user-userId
+              # - user-email
+              # - group-groupId
+              # - group-email
+              # - allUsers
+              # - allAuthenticatedUsers
+          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+          "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
+          "id": "A String", # The ID of the access-control entry.
+          "entityId": "A String", # The ID for the entity, if any.
+          "email": "A String", # The email address associated with the entity, if any.
+          "selfLink": "A String", # The link to this access-control entry.
+        },
+    ],
+    "kind": "storage#bucketAccessControls", # The kind of item this is. For lists of bucket access control entries, this is always storage#bucketAccessControls.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(bucket, entity, body)</code>
+  <pre>Updates an ACL entry on the specified bucket. This method supports patch semantics.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An access-control entry.
+    "domain": "A String", # The domain associated with the entity, if any.
+    "bucket": "A String", # The name of the bucket.
+    "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
+    "entity": "A String", # The entity holding the permission, in one of the following forms:
+        # - user-userId
+        # - user-email
+        # - group-groupId
+        # - group-email
+        # - allUsers
+        # - allAuthenticatedUsers
+    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+    "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
+    "id": "A String", # The ID of the access-control entry.
+    "entityId": "A String", # The ID for the entity, if any.
+    "email": "A String", # The email address associated with the entity, if any.
+    "selfLink": "A String", # The link to this access-control entry.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An access-control entry.
+      "domain": "A String", # The domain associated with the entity, if any.
+      "bucket": "A String", # The name of the bucket.
+      "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
+      "entity": "A String", # The entity holding the permission, in one of the following forms:
+          # - user-userId
+          # - user-email
+          # - group-groupId
+          # - group-email
+          # - allUsers
+          # - allAuthenticatedUsers
+      "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+      "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
+      "id": "A String", # The ID of the access-control entry.
+      "entityId": "A String", # The ID for the entity, if any.
+      "email": "A String", # The email address associated with the entity, if any.
+      "selfLink": "A String", # The link to this access-control entry.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(bucket, entity, body)</code>
+  <pre>Updates an ACL entry on the specified bucket.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An access-control entry.
+    "domain": "A String", # The domain associated with the entity, if any.
+    "bucket": "A String", # The name of the bucket.
+    "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
+    "entity": "A String", # The entity holding the permission, in one of the following forms:
+        # - user-userId
+        # - user-email
+        # - group-groupId
+        # - group-email
+        # - allUsers
+        # - allAuthenticatedUsers
+    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+    "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
+    "id": "A String", # The ID of the access-control entry.
+    "entityId": "A String", # The ID for the entity, if any.
+    "email": "A String", # The email address associated with the entity, if any.
+    "selfLink": "A String", # The link to this access-control entry.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An access-control entry.
+      "domain": "A String", # The domain associated with the entity, if any.
+      "bucket": "A String", # The name of the bucket.
+      "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
+      "entity": "A String", # The entity holding the permission, in one of the following forms:
+          # - user-userId
+          # - user-email
+          # - group-groupId
+          # - group-email
+          # - allUsers
+          # - allAuthenticatedUsers
+      "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+      "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
+      "id": "A String", # The ID of the access-control entry.
+      "entityId": "A String", # The ID for the entity, if any.
+      "email": "A String", # The email address associated with the entity, if any.
+      "selfLink": "A String", # The link to this access-control entry.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1beta2.buckets.html b/docs/dyn/storage_v1beta2.buckets.html
new file mode 100644
index 0000000..c014368
--- /dev/null
+++ b/docs/dyn/storage_v1beta2.buckets.html
@@ -0,0 +1,1006 @@
+<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="storage_v1beta2.html">Cloud Storage API</a> . <a href="storage_v1beta2.buckets.html">buckets</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(bucket, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)</a></code></p>
+<p class="firstline">Permanently deletes an empty bucket.</p>
+<p class="toc_element">
+  <code><a href="#get">get(bucket, projection=None, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)</a></code></p>
+<p class="firstline">Returns metadata for the specified bucket.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, body, projection=None)</a></code></p>
+<p class="firstline">Creates a new bucket.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, projection=None, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves a list of buckets for a given project.</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="#patch">patch(bucket, body, projection=None, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)</a></code></p>
+<p class="firstline">Updates a bucket. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(bucket, body, projection=None, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)</a></code></p>
+<p class="firstline">Updates a bucket.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(bucket, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)</code>
+  <pre>Permanently deletes an empty bucket.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  ifMetagenerationMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value.
+  ifMetagenerationNotMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(bucket, projection=None, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)</code>
+  <pre>Returns metadata for the specified bucket.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  projection: string, Set of properties to return. Defaults to noAcl.
+    Allowed values
+      full - Include all properties.
+      noAcl - Omit acl and defaultObjectAcl properties.
+  ifMetagenerationMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value.
+  ifMetagenerationNotMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value.
+
+Returns:
+  An object of the form:
+
+    { # A bucket.
+      "website": { # The bucket's website configuration.
+        "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
+        "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
+      },
+      "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
+      "logging": { # The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs.
+        "logObjectPrefix": "A String", # A prefix for log object names.
+        "logBucket": "A String", # The destination bucket where the current bucket's logs should be placed.
+      },
+      "name": "A String", # The name of the bucket.
+      "metageneration": "A String", # The metadata generation of this bucket.
+      "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
+      "versioning": { # The bucket's versioning configuration.
+        "enabled": True or False, # While set to true, versioning is fully enabled for this bucket.
+      },
+      "acl": [ # Access controls on the bucket.
+        { # An access-control entry.
+            "domain": "A String", # The domain associated with the entity, if any.
+            "bucket": "A String", # The name of the bucket.
+            "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
+            "entity": "A String", # The entity holding the permission, in one of the following forms:
+                # - user-userId
+                # - user-email
+                # - group-groupId
+                # - group-email
+                # - allUsers
+                # - allAuthenticatedUsers
+            "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+            "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
+            "id": "A String", # The ID of the access-control entry.
+            "entityId": "A String", # The ID for the entity, if any.
+            "email": "A String", # The email address associated with the entity, if any.
+            "selfLink": "A String", # The link to this access-control entry.
+          },
+      ],
+      "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
+        { # An access-control entry.
+          "domain": "A String", # The domain associated with the entity, if any.
+          "generation": "A String", # The content generation of the object.
+          "object": "A String", # The name of the object.
+          "bucket": "A String", # The name of the bucket.
+          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+          "entity": "A String", # The entity holding the permission, in one of the following forms:
+              # - user-userId
+              # - user-email
+              # - group-groupId
+              # - group-email
+              # - allUsers
+              # - allAuthenticatedUsers
+          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+          "id": "A String", # The ID of the access-control entry.
+          "entityId": "A String", # The ID for the entity, if any.
+          "email": "A String", # The email address associated with the entity, if any.
+          "selfLink": "A String", # The link to this access-control entry.
+        },
+      ],
+      "etag": "A String", # HTTP 1.1 Entity tag for the bucket.
+      "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Typical values are US and EU. Defaults to US. See the developer's guide for the authoritative list.
+      "cors": [ # The bucket's Cross-Origin Resource Sharing (CORS) configuration.
+        {
+          "origin": [ # The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
+            "A String",
+          ],
+          "responseHeader": [ # The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
+            "A String",
+          ],
+          "method": [ # The list of HTTP methods on which to include CORS response headers, e.g. GET, OPTIONS, POST. Note, "*" is permitted in the list of methods, and means "any method".
+            "A String",
+          ],
+          "maxAgeSeconds": 42, # The value, in seconds, to return in the  Access-Control-Max-Age header used in preflight responses.
+        },
+      ],
+      "owner": { # The owner of the bucket. This will always be the project team's owner group.
+        "entityId": "A String", # The ID for the entity.
+        "entity": "A String", # The entity, in the form group-groupId.
+      },
+      "lifecycle": { # The bucket's lifecycle configuration. See object lifecycle management for more information.
+        "rule": [ # A lifecycle management rule, which is made of an action to take and the condition(s) under which the action will be taken.
+          {
+            "action": { # The action to take.
+              "type": "A String", # Type of the action, e.g. Delete.
+            },
+            "condition": { # The condition(s) under which the action will be taken.
+              "isLive": True or False, # Relevant only for versioned objects. If the value is true, this condition matches live objects; if the value is false, it matches archived objects.
+              "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.
+              "age": 42, # Age of an object (in days). This condition is satisfied when an object reaches the specified age.
+              "createdBefore": "A String", # A date in RFC 3339 format with only the date part, e.g. "2013-01-15". This condition is satisfied when an object is created before midnight of the specified date in UTC.
+            },
+          },
+        ],
+      },
+      "id": "A String", # The ID of the bucket.
+      "selfLink": "A String", # The URI of this bucket.
+      "storageClass": "A String", # The bucket's storage class. This defines how objects in the bucket will be stored and determines the SLA and the cost of storage. Typical values are STANDARD and DURABLE_REDUCED_AVAILABILITY. Defaults to STANDARD. See the developer's guide for the authoritative list.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, body, projection=None)</code>
+  <pre>Creates a new bucket.
+
+Args:
+  project: string, A valid API project identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A bucket.
+    "website": { # The bucket's website configuration.
+      "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
+      "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
+    },
+    "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
+    "logging": { # The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs.
+      "logObjectPrefix": "A String", # A prefix for log object names.
+      "logBucket": "A String", # The destination bucket where the current bucket's logs should be placed.
+    },
+    "name": "A String", # The name of the bucket.
+    "metageneration": "A String", # The metadata generation of this bucket.
+    "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
+    "versioning": { # The bucket's versioning configuration.
+      "enabled": True or False, # While set to true, versioning is fully enabled for this bucket.
+    },
+    "acl": [ # Access controls on the bucket.
+      { # An access-control entry.
+          "domain": "A String", # The domain associated with the entity, if any.
+          "bucket": "A String", # The name of the bucket.
+          "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
+          "entity": "A String", # The entity holding the permission, in one of the following forms:
+              # - user-userId
+              # - user-email
+              # - group-groupId
+              # - group-email
+              # - allUsers
+              # - allAuthenticatedUsers
+          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+          "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
+          "id": "A String", # The ID of the access-control entry.
+          "entityId": "A String", # The ID for the entity, if any.
+          "email": "A String", # The email address associated with the entity, if any.
+          "selfLink": "A String", # The link to this access-control entry.
+        },
+    ],
+    "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
+      { # An access-control entry.
+        "domain": "A String", # The domain associated with the entity, if any.
+        "generation": "A String", # The content generation of the object.
+        "object": "A String", # The name of the object.
+        "bucket": "A String", # The name of the bucket.
+        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+        "entity": "A String", # The entity holding the permission, in one of the following forms:
+            # - user-userId
+            # - user-email
+            # - group-groupId
+            # - group-email
+            # - allUsers
+            # - allAuthenticatedUsers
+        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+        "id": "A String", # The ID of the access-control entry.
+        "entityId": "A String", # The ID for the entity, if any.
+        "email": "A String", # The email address associated with the entity, if any.
+        "selfLink": "A String", # The link to this access-control entry.
+      },
+    ],
+    "etag": "A String", # HTTP 1.1 Entity tag for the bucket.
+    "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Typical values are US and EU. Defaults to US. See the developer's guide for the authoritative list.
+    "cors": [ # The bucket's Cross-Origin Resource Sharing (CORS) configuration.
+      {
+        "origin": [ # The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
+          "A String",
+        ],
+        "responseHeader": [ # The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
+          "A String",
+        ],
+        "method": [ # The list of HTTP methods on which to include CORS response headers, e.g. GET, OPTIONS, POST. Note, "*" is permitted in the list of methods, and means "any method".
+          "A String",
+        ],
+        "maxAgeSeconds": 42, # The value, in seconds, to return in the  Access-Control-Max-Age header used in preflight responses.
+      },
+    ],
+    "owner": { # The owner of the bucket. This will always be the project team's owner group.
+      "entityId": "A String", # The ID for the entity.
+      "entity": "A String", # The entity, in the form group-groupId.
+    },
+    "lifecycle": { # The bucket's lifecycle configuration. See object lifecycle management for more information.
+      "rule": [ # A lifecycle management rule, which is made of an action to take and the condition(s) under which the action will be taken.
+        {
+          "action": { # The action to take.
+            "type": "A String", # Type of the action, e.g. Delete.
+          },
+          "condition": { # The condition(s) under which the action will be taken.
+            "isLive": True or False, # Relevant only for versioned objects. If the value is true, this condition matches live objects; if the value is false, it matches archived objects.
+            "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.
+            "age": 42, # Age of an object (in days). This condition is satisfied when an object reaches the specified age.
+            "createdBefore": "A String", # A date in RFC 3339 format with only the date part, e.g. "2013-01-15". This condition is satisfied when an object is created before midnight of the specified date in UTC.
+          },
+        },
+      ],
+    },
+    "id": "A String", # The ID of the bucket.
+    "selfLink": "A String", # The URI of this bucket.
+    "storageClass": "A String", # The bucket's storage class. This defines how objects in the bucket will be stored and determines the SLA and the cost of storage. Typical values are STANDARD and DURABLE_REDUCED_AVAILABILITY. Defaults to STANDARD. See the developer's guide for the authoritative list.
+  }
+
+  projection: string, Set of properties to return. Defaults to noAcl, unless the bucket resource specifies acl or defaultObjectAcl properties, when it defaults to full.
+    Allowed values
+      full - Include all properties.
+      noAcl - Omit acl and defaultObjectAcl properties.
+
+Returns:
+  An object of the form:
+
+    { # A bucket.
+      "website": { # The bucket's website configuration.
+        "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
+        "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
+      },
+      "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
+      "logging": { # The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs.
+        "logObjectPrefix": "A String", # A prefix for log object names.
+        "logBucket": "A String", # The destination bucket where the current bucket's logs should be placed.
+      },
+      "name": "A String", # The name of the bucket.
+      "metageneration": "A String", # The metadata generation of this bucket.
+      "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
+      "versioning": { # The bucket's versioning configuration.
+        "enabled": True or False, # While set to true, versioning is fully enabled for this bucket.
+      },
+      "acl": [ # Access controls on the bucket.
+        { # An access-control entry.
+            "domain": "A String", # The domain associated with the entity, if any.
+            "bucket": "A String", # The name of the bucket.
+            "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
+            "entity": "A String", # The entity holding the permission, in one of the following forms:
+                # - user-userId
+                # - user-email
+                # - group-groupId
+                # - group-email
+                # - allUsers
+                # - allAuthenticatedUsers
+            "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+            "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
+            "id": "A String", # The ID of the access-control entry.
+            "entityId": "A String", # The ID for the entity, if any.
+            "email": "A String", # The email address associated with the entity, if any.
+            "selfLink": "A String", # The link to this access-control entry.
+          },
+      ],
+      "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
+        { # An access-control entry.
+          "domain": "A String", # The domain associated with the entity, if any.
+          "generation": "A String", # The content generation of the object.
+          "object": "A String", # The name of the object.
+          "bucket": "A String", # The name of the bucket.
+          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+          "entity": "A String", # The entity holding the permission, in one of the following forms:
+              # - user-userId
+              # - user-email
+              # - group-groupId
+              # - group-email
+              # - allUsers
+              # - allAuthenticatedUsers
+          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+          "id": "A String", # The ID of the access-control entry.
+          "entityId": "A String", # The ID for the entity, if any.
+          "email": "A String", # The email address associated with the entity, if any.
+          "selfLink": "A String", # The link to this access-control entry.
+        },
+      ],
+      "etag": "A String", # HTTP 1.1 Entity tag for the bucket.
+      "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Typical values are US and EU. Defaults to US. See the developer's guide for the authoritative list.
+      "cors": [ # The bucket's Cross-Origin Resource Sharing (CORS) configuration.
+        {
+          "origin": [ # The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
+            "A String",
+          ],
+          "responseHeader": [ # The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
+            "A String",
+          ],
+          "method": [ # The list of HTTP methods on which to include CORS response headers, e.g. GET, OPTIONS, POST. Note, "*" is permitted in the list of methods, and means "any method".
+            "A String",
+          ],
+          "maxAgeSeconds": 42, # The value, in seconds, to return in the  Access-Control-Max-Age header used in preflight responses.
+        },
+      ],
+      "owner": { # The owner of the bucket. This will always be the project team's owner group.
+        "entityId": "A String", # The ID for the entity.
+        "entity": "A String", # The entity, in the form group-groupId.
+      },
+      "lifecycle": { # The bucket's lifecycle configuration. See object lifecycle management for more information.
+        "rule": [ # A lifecycle management rule, which is made of an action to take and the condition(s) under which the action will be taken.
+          {
+            "action": { # The action to take.
+              "type": "A String", # Type of the action, e.g. Delete.
+            },
+            "condition": { # The condition(s) under which the action will be taken.
+              "isLive": True or False, # Relevant only for versioned objects. If the value is true, this condition matches live objects; if the value is false, it matches archived objects.
+              "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.
+              "age": 42, # Age of an object (in days). This condition is satisfied when an object reaches the specified age.
+              "createdBefore": "A String", # A date in RFC 3339 format with only the date part, e.g. "2013-01-15". This condition is satisfied when an object is created before midnight of the specified date in UTC.
+            },
+          },
+        ],
+      },
+      "id": "A String", # The ID of the bucket.
+      "selfLink": "A String", # The URI of this bucket.
+      "storageClass": "A String", # The bucket's storage class. This defines how objects in the bucket will be stored and determines the SLA and the cost of storage. Typical values are STANDARD and DURABLE_REDUCED_AVAILABILITY. Defaults to STANDARD. See the developer's guide for the authoritative list.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, projection=None, pageToken=None, maxResults=None)</code>
+  <pre>Retrieves a list of buckets for a given project.
+
+Args:
+  project: string, A valid API project identifier. (required)
+  projection: string, Set of properties to return. Defaults to noAcl.
+    Allowed values
+      full - Include all properties.
+      noAcl - Omit acl and defaultObjectAcl properties.
+  pageToken: string, A previously-returned page token representing part of the larger set of results to view.
+  maxResults: integer, Maximum number of buckets to return.
+
+Returns:
+  An object of the form:
+
+    { # A list of buckets.
+    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "items": [ # The list of items.
+      { # A bucket.
+          "website": { # The bucket's website configuration.
+            "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
+            "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
+          },
+          "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
+          "logging": { # The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs.
+            "logObjectPrefix": "A String", # A prefix for log object names.
+            "logBucket": "A String", # The destination bucket where the current bucket's logs should be placed.
+          },
+          "name": "A String", # The name of the bucket.
+          "metageneration": "A String", # The metadata generation of this bucket.
+          "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
+          "versioning": { # The bucket's versioning configuration.
+            "enabled": True or False, # While set to true, versioning is fully enabled for this bucket.
+          },
+          "acl": [ # Access controls on the bucket.
+            { # An access-control entry.
+                "domain": "A String", # The domain associated with the entity, if any.
+                "bucket": "A String", # The name of the bucket.
+                "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
+                "entity": "A String", # The entity holding the permission, in one of the following forms:
+                    # - user-userId
+                    # - user-email
+                    # - group-groupId
+                    # - group-email
+                    # - allUsers
+                    # - allAuthenticatedUsers
+                "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+                "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
+                "id": "A String", # The ID of the access-control entry.
+                "entityId": "A String", # The ID for the entity, if any.
+                "email": "A String", # The email address associated with the entity, if any.
+                "selfLink": "A String", # The link to this access-control entry.
+              },
+          ],
+          "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
+            { # An access-control entry.
+              "domain": "A String", # The domain associated with the entity, if any.
+              "generation": "A String", # The content generation of the object.
+              "object": "A String", # The name of the object.
+              "bucket": "A String", # The name of the bucket.
+              "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+              "entity": "A String", # The entity holding the permission, in one of the following forms:
+                  # - user-userId
+                  # - user-email
+                  # - group-groupId
+                  # - group-email
+                  # - allUsers
+                  # - allAuthenticatedUsers
+              "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+              "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+              "id": "A String", # The ID of the access-control entry.
+              "entityId": "A String", # The ID for the entity, if any.
+              "email": "A String", # The email address associated with the entity, if any.
+              "selfLink": "A String", # The link to this access-control entry.
+            },
+          ],
+          "etag": "A String", # HTTP 1.1 Entity tag for the bucket.
+          "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Typical values are US and EU. Defaults to US. See the developer's guide for the authoritative list.
+          "cors": [ # The bucket's Cross-Origin Resource Sharing (CORS) configuration.
+            {
+              "origin": [ # The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
+                "A String",
+              ],
+              "responseHeader": [ # The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
+                "A String",
+              ],
+              "method": [ # The list of HTTP methods on which to include CORS response headers, e.g. GET, OPTIONS, POST. Note, "*" is permitted in the list of methods, and means "any method".
+                "A String",
+              ],
+              "maxAgeSeconds": 42, # The value, in seconds, to return in the  Access-Control-Max-Age header used in preflight responses.
+            },
+          ],
+          "owner": { # The owner of the bucket. This will always be the project team's owner group.
+            "entityId": "A String", # The ID for the entity.
+            "entity": "A String", # The entity, in the form group-groupId.
+          },
+          "lifecycle": { # The bucket's lifecycle configuration. See object lifecycle management for more information.
+            "rule": [ # A lifecycle management rule, which is made of an action to take and the condition(s) under which the action will be taken.
+              {
+                "action": { # The action to take.
+                  "type": "A String", # Type of the action, e.g. Delete.
+                },
+                "condition": { # The condition(s) under which the action will be taken.
+                  "isLive": True or False, # Relevant only for versioned objects. If the value is true, this condition matches live objects; if the value is false, it matches archived objects.
+                  "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.
+                  "age": 42, # Age of an object (in days). This condition is satisfied when an object reaches the specified age.
+                  "createdBefore": "A String", # A date in RFC 3339 format with only the date part, e.g. "2013-01-15". This condition is satisfied when an object is created before midnight of the specified date in UTC.
+                },
+              },
+            ],
+          },
+          "id": "A String", # The ID of the bucket.
+          "selfLink": "A String", # The URI of this bucket.
+          "storageClass": "A String", # The bucket's storage class. This defines how objects in the bucket will be stored and determines the SLA and the cost of storage. Typical values are STANDARD and DURABLE_REDUCED_AVAILABILITY. Defaults to STANDARD. See the developer's guide for the authoritative list.
+        },
+    ],
+    "kind": "storage#buckets", # The kind of item this is. For lists of buckets, this is always storage#buckets.
+  }</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="patch">patch(bucket, body, projection=None, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)</code>
+  <pre>Updates a bucket. This method supports patch semantics.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A bucket.
+    "website": { # The bucket's website configuration.
+      "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
+      "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
+    },
+    "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
+    "logging": { # The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs.
+      "logObjectPrefix": "A String", # A prefix for log object names.
+      "logBucket": "A String", # The destination bucket where the current bucket's logs should be placed.
+    },
+    "name": "A String", # The name of the bucket.
+    "metageneration": "A String", # The metadata generation of this bucket.
+    "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
+    "versioning": { # The bucket's versioning configuration.
+      "enabled": True or False, # While set to true, versioning is fully enabled for this bucket.
+    },
+    "acl": [ # Access controls on the bucket.
+      { # An access-control entry.
+          "domain": "A String", # The domain associated with the entity, if any.
+          "bucket": "A String", # The name of the bucket.
+          "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
+          "entity": "A String", # The entity holding the permission, in one of the following forms:
+              # - user-userId
+              # - user-email
+              # - group-groupId
+              # - group-email
+              # - allUsers
+              # - allAuthenticatedUsers
+          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+          "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
+          "id": "A String", # The ID of the access-control entry.
+          "entityId": "A String", # The ID for the entity, if any.
+          "email": "A String", # The email address associated with the entity, if any.
+          "selfLink": "A String", # The link to this access-control entry.
+        },
+    ],
+    "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
+      { # An access-control entry.
+        "domain": "A String", # The domain associated with the entity, if any.
+        "generation": "A String", # The content generation of the object.
+        "object": "A String", # The name of the object.
+        "bucket": "A String", # The name of the bucket.
+        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+        "entity": "A String", # The entity holding the permission, in one of the following forms:
+            # - user-userId
+            # - user-email
+            # - group-groupId
+            # - group-email
+            # - allUsers
+            # - allAuthenticatedUsers
+        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+        "id": "A String", # The ID of the access-control entry.
+        "entityId": "A String", # The ID for the entity, if any.
+        "email": "A String", # The email address associated with the entity, if any.
+        "selfLink": "A String", # The link to this access-control entry.
+      },
+    ],
+    "etag": "A String", # HTTP 1.1 Entity tag for the bucket.
+    "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Typical values are US and EU. Defaults to US. See the developer's guide for the authoritative list.
+    "cors": [ # The bucket's Cross-Origin Resource Sharing (CORS) configuration.
+      {
+        "origin": [ # The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
+          "A String",
+        ],
+        "responseHeader": [ # The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
+          "A String",
+        ],
+        "method": [ # The list of HTTP methods on which to include CORS response headers, e.g. GET, OPTIONS, POST. Note, "*" is permitted in the list of methods, and means "any method".
+          "A String",
+        ],
+        "maxAgeSeconds": 42, # The value, in seconds, to return in the  Access-Control-Max-Age header used in preflight responses.
+      },
+    ],
+    "owner": { # The owner of the bucket. This will always be the project team's owner group.
+      "entityId": "A String", # The ID for the entity.
+      "entity": "A String", # The entity, in the form group-groupId.
+    },
+    "lifecycle": { # The bucket's lifecycle configuration. See object lifecycle management for more information.
+      "rule": [ # A lifecycle management rule, which is made of an action to take and the condition(s) under which the action will be taken.
+        {
+          "action": { # The action to take.
+            "type": "A String", # Type of the action, e.g. Delete.
+          },
+          "condition": { # The condition(s) under which the action will be taken.
+            "isLive": True or False, # Relevant only for versioned objects. If the value is true, this condition matches live objects; if the value is false, it matches archived objects.
+            "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.
+            "age": 42, # Age of an object (in days). This condition is satisfied when an object reaches the specified age.
+            "createdBefore": "A String", # A date in RFC 3339 format with only the date part, e.g. "2013-01-15". This condition is satisfied when an object is created before midnight of the specified date in UTC.
+          },
+        },
+      ],
+    },
+    "id": "A String", # The ID of the bucket.
+    "selfLink": "A String", # The URI of this bucket.
+    "storageClass": "A String", # The bucket's storage class. This defines how objects in the bucket will be stored and determines the SLA and the cost of storage. Typical values are STANDARD and DURABLE_REDUCED_AVAILABILITY. Defaults to STANDARD. See the developer's guide for the authoritative list.
+  }
+
+  projection: string, Set of properties to return. Defaults to full.
+    Allowed values
+      full - Include all properties.
+      noAcl - Omit acl and defaultObjectAcl properties.
+  ifMetagenerationMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value.
+  ifMetagenerationNotMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value.
+
+Returns:
+  An object of the form:
+
+    { # A bucket.
+      "website": { # The bucket's website configuration.
+        "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
+        "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
+      },
+      "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
+      "logging": { # The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs.
+        "logObjectPrefix": "A String", # A prefix for log object names.
+        "logBucket": "A String", # The destination bucket where the current bucket's logs should be placed.
+      },
+      "name": "A String", # The name of the bucket.
+      "metageneration": "A String", # The metadata generation of this bucket.
+      "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
+      "versioning": { # The bucket's versioning configuration.
+        "enabled": True or False, # While set to true, versioning is fully enabled for this bucket.
+      },
+      "acl": [ # Access controls on the bucket.
+        { # An access-control entry.
+            "domain": "A String", # The domain associated with the entity, if any.
+            "bucket": "A String", # The name of the bucket.
+            "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
+            "entity": "A String", # The entity holding the permission, in one of the following forms:
+                # - user-userId
+                # - user-email
+                # - group-groupId
+                # - group-email
+                # - allUsers
+                # - allAuthenticatedUsers
+            "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+            "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
+            "id": "A String", # The ID of the access-control entry.
+            "entityId": "A String", # The ID for the entity, if any.
+            "email": "A String", # The email address associated with the entity, if any.
+            "selfLink": "A String", # The link to this access-control entry.
+          },
+      ],
+      "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
+        { # An access-control entry.
+          "domain": "A String", # The domain associated with the entity, if any.
+          "generation": "A String", # The content generation of the object.
+          "object": "A String", # The name of the object.
+          "bucket": "A String", # The name of the bucket.
+          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+          "entity": "A String", # The entity holding the permission, in one of the following forms:
+              # - user-userId
+              # - user-email
+              # - group-groupId
+              # - group-email
+              # - allUsers
+              # - allAuthenticatedUsers
+          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+          "id": "A String", # The ID of the access-control entry.
+          "entityId": "A String", # The ID for the entity, if any.
+          "email": "A String", # The email address associated with the entity, if any.
+          "selfLink": "A String", # The link to this access-control entry.
+        },
+      ],
+      "etag": "A String", # HTTP 1.1 Entity tag for the bucket.
+      "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Typical values are US and EU. Defaults to US. See the developer's guide for the authoritative list.
+      "cors": [ # The bucket's Cross-Origin Resource Sharing (CORS) configuration.
+        {
+          "origin": [ # The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
+            "A String",
+          ],
+          "responseHeader": [ # The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
+            "A String",
+          ],
+          "method": [ # The list of HTTP methods on which to include CORS response headers, e.g. GET, OPTIONS, POST. Note, "*" is permitted in the list of methods, and means "any method".
+            "A String",
+          ],
+          "maxAgeSeconds": 42, # The value, in seconds, to return in the  Access-Control-Max-Age header used in preflight responses.
+        },
+      ],
+      "owner": { # The owner of the bucket. This will always be the project team's owner group.
+        "entityId": "A String", # The ID for the entity.
+        "entity": "A String", # The entity, in the form group-groupId.
+      },
+      "lifecycle": { # The bucket's lifecycle configuration. See object lifecycle management for more information.
+        "rule": [ # A lifecycle management rule, which is made of an action to take and the condition(s) under which the action will be taken.
+          {
+            "action": { # The action to take.
+              "type": "A String", # Type of the action, e.g. Delete.
+            },
+            "condition": { # The condition(s) under which the action will be taken.
+              "isLive": True or False, # Relevant only for versioned objects. If the value is true, this condition matches live objects; if the value is false, it matches archived objects.
+              "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.
+              "age": 42, # Age of an object (in days). This condition is satisfied when an object reaches the specified age.
+              "createdBefore": "A String", # A date in RFC 3339 format with only the date part, e.g. "2013-01-15". This condition is satisfied when an object is created before midnight of the specified date in UTC.
+            },
+          },
+        ],
+      },
+      "id": "A String", # The ID of the bucket.
+      "selfLink": "A String", # The URI of this bucket.
+      "storageClass": "A String", # The bucket's storage class. This defines how objects in the bucket will be stored and determines the SLA and the cost of storage. Typical values are STANDARD and DURABLE_REDUCED_AVAILABILITY. Defaults to STANDARD. See the developer's guide for the authoritative list.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(bucket, body, projection=None, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)</code>
+  <pre>Updates a bucket.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A bucket.
+    "website": { # The bucket's website configuration.
+      "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
+      "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
+    },
+    "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
+    "logging": { # The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs.
+      "logObjectPrefix": "A String", # A prefix for log object names.
+      "logBucket": "A String", # The destination bucket where the current bucket's logs should be placed.
+    },
+    "name": "A String", # The name of the bucket.
+    "metageneration": "A String", # The metadata generation of this bucket.
+    "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
+    "versioning": { # The bucket's versioning configuration.
+      "enabled": True or False, # While set to true, versioning is fully enabled for this bucket.
+    },
+    "acl": [ # Access controls on the bucket.
+      { # An access-control entry.
+          "domain": "A String", # The domain associated with the entity, if any.
+          "bucket": "A String", # The name of the bucket.
+          "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
+          "entity": "A String", # The entity holding the permission, in one of the following forms:
+              # - user-userId
+              # - user-email
+              # - group-groupId
+              # - group-email
+              # - allUsers
+              # - allAuthenticatedUsers
+          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+          "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
+          "id": "A String", # The ID of the access-control entry.
+          "entityId": "A String", # The ID for the entity, if any.
+          "email": "A String", # The email address associated with the entity, if any.
+          "selfLink": "A String", # The link to this access-control entry.
+        },
+    ],
+    "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
+      { # An access-control entry.
+        "domain": "A String", # The domain associated with the entity, if any.
+        "generation": "A String", # The content generation of the object.
+        "object": "A String", # The name of the object.
+        "bucket": "A String", # The name of the bucket.
+        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+        "entity": "A String", # The entity holding the permission, in one of the following forms:
+            # - user-userId
+            # - user-email
+            # - group-groupId
+            # - group-email
+            # - allUsers
+            # - allAuthenticatedUsers
+        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+        "id": "A String", # The ID of the access-control entry.
+        "entityId": "A String", # The ID for the entity, if any.
+        "email": "A String", # The email address associated with the entity, if any.
+        "selfLink": "A String", # The link to this access-control entry.
+      },
+    ],
+    "etag": "A String", # HTTP 1.1 Entity tag for the bucket.
+    "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Typical values are US and EU. Defaults to US. See the developer's guide for the authoritative list.
+    "cors": [ # The bucket's Cross-Origin Resource Sharing (CORS) configuration.
+      {
+        "origin": [ # The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
+          "A String",
+        ],
+        "responseHeader": [ # The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
+          "A String",
+        ],
+        "method": [ # The list of HTTP methods on which to include CORS response headers, e.g. GET, OPTIONS, POST. Note, "*" is permitted in the list of methods, and means "any method".
+          "A String",
+        ],
+        "maxAgeSeconds": 42, # The value, in seconds, to return in the  Access-Control-Max-Age header used in preflight responses.
+      },
+    ],
+    "owner": { # The owner of the bucket. This will always be the project team's owner group.
+      "entityId": "A String", # The ID for the entity.
+      "entity": "A String", # The entity, in the form group-groupId.
+    },
+    "lifecycle": { # The bucket's lifecycle configuration. See object lifecycle management for more information.
+      "rule": [ # A lifecycle management rule, which is made of an action to take and the condition(s) under which the action will be taken.
+        {
+          "action": { # The action to take.
+            "type": "A String", # Type of the action, e.g. Delete.
+          },
+          "condition": { # The condition(s) under which the action will be taken.
+            "isLive": True or False, # Relevant only for versioned objects. If the value is true, this condition matches live objects; if the value is false, it matches archived objects.
+            "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.
+            "age": 42, # Age of an object (in days). This condition is satisfied when an object reaches the specified age.
+            "createdBefore": "A String", # A date in RFC 3339 format with only the date part, e.g. "2013-01-15". This condition is satisfied when an object is created before midnight of the specified date in UTC.
+          },
+        },
+      ],
+    },
+    "id": "A String", # The ID of the bucket.
+    "selfLink": "A String", # The URI of this bucket.
+    "storageClass": "A String", # The bucket's storage class. This defines how objects in the bucket will be stored and determines the SLA and the cost of storage. Typical values are STANDARD and DURABLE_REDUCED_AVAILABILITY. Defaults to STANDARD. See the developer's guide for the authoritative list.
+  }
+
+  projection: string, Set of properties to return. Defaults to full.
+    Allowed values
+      full - Include all properties.
+      noAcl - Omit acl and defaultObjectAcl properties.
+  ifMetagenerationMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value.
+  ifMetagenerationNotMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value.
+
+Returns:
+  An object of the form:
+
+    { # A bucket.
+      "website": { # The bucket's website configuration.
+        "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
+        "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
+      },
+      "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
+      "logging": { # The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs.
+        "logObjectPrefix": "A String", # A prefix for log object names.
+        "logBucket": "A String", # The destination bucket where the current bucket's logs should be placed.
+      },
+      "name": "A String", # The name of the bucket.
+      "metageneration": "A String", # The metadata generation of this bucket.
+      "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
+      "versioning": { # The bucket's versioning configuration.
+        "enabled": True or False, # While set to true, versioning is fully enabled for this bucket.
+      },
+      "acl": [ # Access controls on the bucket.
+        { # An access-control entry.
+            "domain": "A String", # The domain associated with the entity, if any.
+            "bucket": "A String", # The name of the bucket.
+            "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
+            "entity": "A String", # The entity holding the permission, in one of the following forms:
+                # - user-userId
+                # - user-email
+                # - group-groupId
+                # - group-email
+                # - allUsers
+                # - allAuthenticatedUsers
+            "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+            "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
+            "id": "A String", # The ID of the access-control entry.
+            "entityId": "A String", # The ID for the entity, if any.
+            "email": "A String", # The email address associated with the entity, if any.
+            "selfLink": "A String", # The link to this access-control entry.
+          },
+      ],
+      "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
+        { # An access-control entry.
+          "domain": "A String", # The domain associated with the entity, if any.
+          "generation": "A String", # The content generation of the object.
+          "object": "A String", # The name of the object.
+          "bucket": "A String", # The name of the bucket.
+          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+          "entity": "A String", # The entity holding the permission, in one of the following forms:
+              # - user-userId
+              # - user-email
+              # - group-groupId
+              # - group-email
+              # - allUsers
+              # - allAuthenticatedUsers
+          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+          "id": "A String", # The ID of the access-control entry.
+          "entityId": "A String", # The ID for the entity, if any.
+          "email": "A String", # The email address associated with the entity, if any.
+          "selfLink": "A String", # The link to this access-control entry.
+        },
+      ],
+      "etag": "A String", # HTTP 1.1 Entity tag for the bucket.
+      "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Typical values are US and EU. Defaults to US. See the developer's guide for the authoritative list.
+      "cors": [ # The bucket's Cross-Origin Resource Sharing (CORS) configuration.
+        {
+          "origin": [ # The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
+            "A String",
+          ],
+          "responseHeader": [ # The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
+            "A String",
+          ],
+          "method": [ # The list of HTTP methods on which to include CORS response headers, e.g. GET, OPTIONS, POST. Note, "*" is permitted in the list of methods, and means "any method".
+            "A String",
+          ],
+          "maxAgeSeconds": 42, # The value, in seconds, to return in the  Access-Control-Max-Age header used in preflight responses.
+        },
+      ],
+      "owner": { # The owner of the bucket. This will always be the project team's owner group.
+        "entityId": "A String", # The ID for the entity.
+        "entity": "A String", # The entity, in the form group-groupId.
+      },
+      "lifecycle": { # The bucket's lifecycle configuration. See object lifecycle management for more information.
+        "rule": [ # A lifecycle management rule, which is made of an action to take and the condition(s) under which the action will be taken.
+          {
+            "action": { # The action to take.
+              "type": "A String", # Type of the action, e.g. Delete.
+            },
+            "condition": { # The condition(s) under which the action will be taken.
+              "isLive": True or False, # Relevant only for versioned objects. If the value is true, this condition matches live objects; if the value is false, it matches archived objects.
+              "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.
+              "age": 42, # Age of an object (in days). This condition is satisfied when an object reaches the specified age.
+              "createdBefore": "A String", # A date in RFC 3339 format with only the date part, e.g. "2013-01-15". This condition is satisfied when an object is created before midnight of the specified date in UTC.
+            },
+          },
+        ],
+      },
+      "id": "A String", # The ID of the bucket.
+      "selfLink": "A String", # The URI of this bucket.
+      "storageClass": "A String", # The bucket's storage class. This defines how objects in the bucket will be stored and determines the SLA and the cost of storage. Typical values are STANDARD and DURABLE_REDUCED_AVAILABILITY. Defaults to STANDARD. See the developer's guide for the authoritative list.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1beta2.channels.html b/docs/dyn/storage_v1beta2.channels.html
new file mode 100644
index 0000000..9e1d0f3
--- /dev/null
+++ b/docs/dyn/storage_v1beta2.channels.html
@@ -0,0 +1,106 @@
+<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="storage_v1beta2.html">Cloud Storage API</a> . <a href="storage_v1beta2.channels.html">channels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#stop">stop(body)</a></code></p>
+<p class="firstline">A description of how to use this function</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="stop">stop(body)</code>
+  <pre>A description of how to use this function
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "resourceUri": "A String", # The canonicalized ID of the watched resource.
+    "kind": "api#channel", # A channel watching an API resource
+    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
+    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
+    "params": { # Additional parameters controlling delivery channel behavior
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # The expiration instant for this channel if it is defined.
+    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
+    "type": "A String", # The type of delivery mechanism used by this channel
+    "id": "A String", # A UUID for the channel
+  }
+
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1beta2.defaultObjectAccessControls.html b/docs/dyn/storage_v1beta2.defaultObjectAccessControls.html
new file mode 100644
index 0000000..5409d46
--- /dev/null
+++ b/docs/dyn/storage_v1beta2.defaultObjectAccessControls.html
@@ -0,0 +1,327 @@
+<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="storage_v1beta2.html">Cloud Storage API</a> . <a href="storage_v1beta2.defaultObjectAccessControls.html">defaultObjectAccessControls</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(bucket, entity)</a></code></p>
+<p class="firstline">Permanently deletes the default object ACL entry for the specified entity on the specified bucket.</p>
+<p class="toc_element">
+  <code><a href="#get">get(bucket, entity)</a></code></p>
+<p class="firstline">Returns the default object ACL entry for the specified entity on the specified bucket.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(bucket, body)</a></code></p>
+<p class="firstline">Creates a new default object ACL entry on the specified bucket.</p>
+<p class="toc_element">
+  <code><a href="#list">list(bucket)</a></code></p>
+<p class="firstline">Retrieves default object ACL entries on the specified bucket.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(bucket, entity, body)</a></code></p>
+<p class="firstline">Updates a default object ACL entry on the specified bucket. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(bucket, entity, body)</a></code></p>
+<p class="firstline">Updates a default object ACL entry on the specified bucket.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(bucket, entity)</code>
+  <pre>Permanently deletes the default object ACL entry for the specified entity on the specified bucket.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(bucket, entity)</code>
+  <pre>Returns the default object ACL entry for the specified entity on the specified bucket.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
+
+Returns:
+  An object of the form:
+
+    { # An access-control entry.
+    "domain": "A String", # The domain associated with the entity, if any.
+    "generation": "A String", # The content generation of the object.
+    "object": "A String", # The name of the object.
+    "bucket": "A String", # The name of the bucket.
+    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+    "entity": "A String", # The entity holding the permission, in one of the following forms:
+        # - user-userId
+        # - user-email
+        # - group-groupId
+        # - group-email
+        # - allUsers
+        # - allAuthenticatedUsers
+    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+    "id": "A String", # The ID of the access-control entry.
+    "entityId": "A String", # The ID for the entity, if any.
+    "email": "A String", # The email address associated with the entity, if any.
+    "selfLink": "A String", # The link to this access-control entry.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(bucket, body)</code>
+  <pre>Creates a new default object ACL entry on the specified bucket.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An access-control entry.
+  "domain": "A String", # The domain associated with the entity, if any.
+  "generation": "A String", # The content generation of the object.
+  "object": "A String", # The name of the object.
+  "bucket": "A String", # The name of the bucket.
+  "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+  "entity": "A String", # The entity holding the permission, in one of the following forms:
+      # - user-userId
+      # - user-email
+      # - group-groupId
+      # - group-email
+      # - allUsers
+      # - allAuthenticatedUsers
+  "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+  "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+  "id": "A String", # The ID of the access-control entry.
+  "entityId": "A String", # The ID for the entity, if any.
+  "email": "A String", # The email address associated with the entity, if any.
+  "selfLink": "A String", # The link to this access-control entry.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # An access-control entry.
+    "domain": "A String", # The domain associated with the entity, if any.
+    "generation": "A String", # The content generation of the object.
+    "object": "A String", # The name of the object.
+    "bucket": "A String", # The name of the bucket.
+    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+    "entity": "A String", # The entity holding the permission, in one of the following forms:
+        # - user-userId
+        # - user-email
+        # - group-groupId
+        # - group-email
+        # - allUsers
+        # - allAuthenticatedUsers
+    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+    "id": "A String", # The ID of the access-control entry.
+    "entityId": "A String", # The ID for the entity, if any.
+    "email": "A String", # The email address associated with the entity, if any.
+    "selfLink": "A String", # The link to this access-control entry.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(bucket)</code>
+  <pre>Retrieves default object ACL entries on the specified bucket.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+
+Returns:
+  An object of the form:
+
+    { # An access-control list.
+    "items": [ # The list of items.
+      "",
+    ],
+    "kind": "storage#objectAccessControls", # The kind of item this is. For lists of object access control entries, this is always storage#objectAccessControls.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(bucket, entity, body)</code>
+  <pre>Updates a default object ACL entry on the specified bucket. This method supports patch semantics.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An access-control entry.
+  "domain": "A String", # The domain associated with the entity, if any.
+  "generation": "A String", # The content generation of the object.
+  "object": "A String", # The name of the object.
+  "bucket": "A String", # The name of the bucket.
+  "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+  "entity": "A String", # The entity holding the permission, in one of the following forms:
+      # - user-userId
+      # - user-email
+      # - group-groupId
+      # - group-email
+      # - allUsers
+      # - allAuthenticatedUsers
+  "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+  "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+  "id": "A String", # The ID of the access-control entry.
+  "entityId": "A String", # The ID for the entity, if any.
+  "email": "A String", # The email address associated with the entity, if any.
+  "selfLink": "A String", # The link to this access-control entry.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # An access-control entry.
+    "domain": "A String", # The domain associated with the entity, if any.
+    "generation": "A String", # The content generation of the object.
+    "object": "A String", # The name of the object.
+    "bucket": "A String", # The name of the bucket.
+    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+    "entity": "A String", # The entity holding the permission, in one of the following forms:
+        # - user-userId
+        # - user-email
+        # - group-groupId
+        # - group-email
+        # - allUsers
+        # - allAuthenticatedUsers
+    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+    "id": "A String", # The ID of the access-control entry.
+    "entityId": "A String", # The ID for the entity, if any.
+    "email": "A String", # The email address associated with the entity, if any.
+    "selfLink": "A String", # The link to this access-control entry.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(bucket, entity, body)</code>
+  <pre>Updates a default object ACL entry on the specified bucket.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An access-control entry.
+  "domain": "A String", # The domain associated with the entity, if any.
+  "generation": "A String", # The content generation of the object.
+  "object": "A String", # The name of the object.
+  "bucket": "A String", # The name of the bucket.
+  "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+  "entity": "A String", # The entity holding the permission, in one of the following forms:
+      # - user-userId
+      # - user-email
+      # - group-groupId
+      # - group-email
+      # - allUsers
+      # - allAuthenticatedUsers
+  "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+  "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+  "id": "A String", # The ID of the access-control entry.
+  "entityId": "A String", # The ID for the entity, if any.
+  "email": "A String", # The email address associated with the entity, if any.
+  "selfLink": "A String", # The link to this access-control entry.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # An access-control entry.
+    "domain": "A String", # The domain associated with the entity, if any.
+    "generation": "A String", # The content generation of the object.
+    "object": "A String", # The name of the object.
+    "bucket": "A String", # The name of the bucket.
+    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+    "entity": "A String", # The entity holding the permission, in one of the following forms:
+        # - user-userId
+        # - user-email
+        # - group-groupId
+        # - group-email
+        # - allUsers
+        # - allAuthenticatedUsers
+    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+    "id": "A String", # The ID of the access-control entry.
+    "entityId": "A String", # The ID for the entity, if any.
+    "email": "A String", # The email address associated with the entity, if any.
+    "selfLink": "A String", # The link to this access-control entry.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1beta2.html b/docs/dyn/storage_v1beta2.html
new file mode 100644
index 0000000..31c606a
--- /dev/null
+++ b/docs/dyn/storage_v1beta2.html
@@ -0,0 +1,107 @@
+<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="storage_v1beta2.html">Cloud Storage API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="storage_v1beta2.bucketAccessControls.html">bucketAccessControls()</a></code>
+</p>
+<p class="firstline">Returns the bucketAccessControls Resource.</p>
+
+<p class="toc_element">
+  <code><a href="storage_v1beta2.buckets.html">buckets()</a></code>
+</p>
+<p class="firstline">Returns the buckets Resource.</p>
+
+<p class="toc_element">
+  <code><a href="storage_v1beta2.channels.html">channels()</a></code>
+</p>
+<p class="firstline">Returns the channels Resource.</p>
+
+<p class="toc_element">
+  <code><a href="storage_v1beta2.defaultObjectAccessControls.html">defaultObjectAccessControls()</a></code>
+</p>
+<p class="firstline">Returns the defaultObjectAccessControls Resource.</p>
+
+<p class="toc_element">
+  <code><a href="storage_v1beta2.objectAccessControls.html">objectAccessControls()</a></code>
+</p>
+<p class="firstline">Returns the objectAccessControls Resource.</p>
+
+<p class="toc_element">
+  <code><a href="storage_v1beta2.objects.html">objects()</a></code>
+</p>
+<p class="firstline">Returns the objects Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1beta2.objectAccessControls.html b/docs/dyn/storage_v1beta2.objectAccessControls.html
new file mode 100644
index 0000000..c756438
--- /dev/null
+++ b/docs/dyn/storage_v1beta2.objectAccessControls.html
@@ -0,0 +1,339 @@
+<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="storage_v1beta2.html">Cloud Storage API</a> . <a href="storage_v1beta2.objectAccessControls.html">objectAccessControls</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(bucket, object, entity, generation=None)</a></code></p>
+<p class="firstline">Permanently deletes the ACL entry for the specified entity on the specified object.</p>
+<p class="toc_element">
+  <code><a href="#get">get(bucket, object, entity, generation=None)</a></code></p>
+<p class="firstline">Returns the ACL entry for the specified entity on the specified object.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(bucket, object, body, generation=None)</a></code></p>
+<p class="firstline">Creates a new ACL entry on the specified object.</p>
+<p class="toc_element">
+  <code><a href="#list">list(bucket, object, generation=None)</a></code></p>
+<p class="firstline">Retrieves ACL entries on the specified object.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(bucket, object, entity, body, generation=None)</a></code></p>
+<p class="firstline">Updates an ACL entry on the specified object. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(bucket, object, entity, body, generation=None)</a></code></p>
+<p class="firstline">Updates an ACL entry on the specified object.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(bucket, object, entity, generation=None)</code>
+  <pre>Permanently deletes the ACL entry for the specified entity on the specified object.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  object: string, Name of the object. (required)
+  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
+  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(bucket, object, entity, generation=None)</code>
+  <pre>Returns the ACL entry for the specified entity on the specified object.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  object: string, Name of the object. (required)
+  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
+  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
+
+Returns:
+  An object of the form:
+
+    { # An access-control entry.
+    "domain": "A String", # The domain associated with the entity, if any.
+    "generation": "A String", # The content generation of the object.
+    "object": "A String", # The name of the object.
+    "bucket": "A String", # The name of the bucket.
+    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+    "entity": "A String", # The entity holding the permission, in one of the following forms:
+        # - user-userId
+        # - user-email
+        # - group-groupId
+        # - group-email
+        # - allUsers
+        # - allAuthenticatedUsers
+    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+    "id": "A String", # The ID of the access-control entry.
+    "entityId": "A String", # The ID for the entity, if any.
+    "email": "A String", # The email address associated with the entity, if any.
+    "selfLink": "A String", # The link to this access-control entry.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(bucket, object, body, generation=None)</code>
+  <pre>Creates a new ACL entry on the specified object.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  object: string, Name of the object. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An access-control entry.
+  "domain": "A String", # The domain associated with the entity, if any.
+  "generation": "A String", # The content generation of the object.
+  "object": "A String", # The name of the object.
+  "bucket": "A String", # The name of the bucket.
+  "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+  "entity": "A String", # The entity holding the permission, in one of the following forms:
+      # - user-userId
+      # - user-email
+      # - group-groupId
+      # - group-email
+      # - allUsers
+      # - allAuthenticatedUsers
+  "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+  "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+  "id": "A String", # The ID of the access-control entry.
+  "entityId": "A String", # The ID for the entity, if any.
+  "email": "A String", # The email address associated with the entity, if any.
+  "selfLink": "A String", # The link to this access-control entry.
+}
+
+  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
+
+Returns:
+  An object of the form:
+
+    { # An access-control entry.
+    "domain": "A String", # The domain associated with the entity, if any.
+    "generation": "A String", # The content generation of the object.
+    "object": "A String", # The name of the object.
+    "bucket": "A String", # The name of the bucket.
+    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+    "entity": "A String", # The entity holding the permission, in one of the following forms:
+        # - user-userId
+        # - user-email
+        # - group-groupId
+        # - group-email
+        # - allUsers
+        # - allAuthenticatedUsers
+    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+    "id": "A String", # The ID of the access-control entry.
+    "entityId": "A String", # The ID for the entity, if any.
+    "email": "A String", # The email address associated with the entity, if any.
+    "selfLink": "A String", # The link to this access-control entry.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(bucket, object, generation=None)</code>
+  <pre>Retrieves ACL entries on the specified object.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  object: string, Name of the object. (required)
+  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
+
+Returns:
+  An object of the form:
+
+    { # An access-control list.
+    "items": [ # The list of items.
+      "",
+    ],
+    "kind": "storage#objectAccessControls", # The kind of item this is. For lists of object access control entries, this is always storage#objectAccessControls.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(bucket, object, entity, body, generation=None)</code>
+  <pre>Updates an ACL entry on the specified object. This method supports patch semantics.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  object: string, Name of the object. (required)
+  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An access-control entry.
+  "domain": "A String", # The domain associated with the entity, if any.
+  "generation": "A String", # The content generation of the object.
+  "object": "A String", # The name of the object.
+  "bucket": "A String", # The name of the bucket.
+  "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+  "entity": "A String", # The entity holding the permission, in one of the following forms:
+      # - user-userId
+      # - user-email
+      # - group-groupId
+      # - group-email
+      # - allUsers
+      # - allAuthenticatedUsers
+  "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+  "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+  "id": "A String", # The ID of the access-control entry.
+  "entityId": "A String", # The ID for the entity, if any.
+  "email": "A String", # The email address associated with the entity, if any.
+  "selfLink": "A String", # The link to this access-control entry.
+}
+
+  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
+
+Returns:
+  An object of the form:
+
+    { # An access-control entry.
+    "domain": "A String", # The domain associated with the entity, if any.
+    "generation": "A String", # The content generation of the object.
+    "object": "A String", # The name of the object.
+    "bucket": "A String", # The name of the bucket.
+    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+    "entity": "A String", # The entity holding the permission, in one of the following forms:
+        # - user-userId
+        # - user-email
+        # - group-groupId
+        # - group-email
+        # - allUsers
+        # - allAuthenticatedUsers
+    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+    "id": "A String", # The ID of the access-control entry.
+    "entityId": "A String", # The ID for the entity, if any.
+    "email": "A String", # The email address associated with the entity, if any.
+    "selfLink": "A String", # The link to this access-control entry.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(bucket, object, entity, body, generation=None)</code>
+  <pre>Updates an ACL entry on the specified object.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  object: string, Name of the object. (required)
+  entity: string, The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An access-control entry.
+  "domain": "A String", # The domain associated with the entity, if any.
+  "generation": "A String", # The content generation of the object.
+  "object": "A String", # The name of the object.
+  "bucket": "A String", # The name of the bucket.
+  "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+  "entity": "A String", # The entity holding the permission, in one of the following forms:
+      # - user-userId
+      # - user-email
+      # - group-groupId
+      # - group-email
+      # - allUsers
+      # - allAuthenticatedUsers
+  "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+  "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+  "id": "A String", # The ID of the access-control entry.
+  "entityId": "A String", # The ID for the entity, if any.
+  "email": "A String", # The email address associated with the entity, if any.
+  "selfLink": "A String", # The link to this access-control entry.
+}
+
+  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
+
+Returns:
+  An object of the form:
+
+    { # An access-control entry.
+    "domain": "A String", # The domain associated with the entity, if any.
+    "generation": "A String", # The content generation of the object.
+    "object": "A String", # The name of the object.
+    "bucket": "A String", # The name of the bucket.
+    "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+    "entity": "A String", # The entity holding the permission, in one of the following forms:
+        # - user-userId
+        # - user-email
+        # - group-groupId
+        # - group-email
+        # - allUsers
+        # - allAuthenticatedUsers
+    "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+    "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+    "id": "A String", # The ID of the access-control entry.
+    "entityId": "A String", # The ID for the entity, if any.
+    "email": "A String", # The email address associated with the entity, if any.
+    "selfLink": "A String", # The link to this access-control entry.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/storage_v1beta2.objects.html b/docs/dyn/storage_v1beta2.objects.html
new file mode 100644
index 0000000..ead03db
--- /dev/null
+++ b/docs/dyn/storage_v1beta2.objects.html
@@ -0,0 +1,1354 @@
+<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="storage_v1beta2.html">Cloud Storage API</a> . <a href="storage_v1beta2.objects.html">objects</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#compose">compose(destinationBucket, destinationObject, body, ifMetagenerationMatch=None, ifGenerationMatch=None)</a></code></p>
+<p class="firstline">Concatenates a list of existing objects into a new object in the same bucket.</p>
+<p class="toc_element">
+  <code><a href="#compose_media">compose_media(destinationBucket, destinationObject, body, ifMetagenerationMatch=None, ifGenerationMatch=None)</a></code></p>
+<p class="firstline">Concatenates a list of existing objects into a new object in the same bucket.</p>
+<p class="toc_element">
+  <code><a href="#copy">copy(sourceBucket, sourceObject, destinationBucket, destinationObject, body, projection=None, sourceGeneration=None, ifSourceGenerationNotMatch=None, ifSourceMetagenerationNotMatch=None, ifGenerationMatch=None, ifGenerationNotMatch=None, ifMetagenerationNotMatch=None, ifSourceGenerationMatch=None, ifSourceMetagenerationMatch=None, ifMetagenerationMatch=None)</a></code></p>
+<p class="firstline">Copies an object to a destination in the same location. Optionally overrides metadata.</p>
+<p class="toc_element">
+  <code><a href="#copy_media">copy_media(sourceBucket, sourceObject, destinationBucket, destinationObject, body, projection=None, sourceGeneration=None, ifSourceGenerationNotMatch=None, ifSourceMetagenerationNotMatch=None, ifGenerationMatch=None, ifGenerationNotMatch=None, ifMetagenerationNotMatch=None, ifSourceGenerationMatch=None, ifSourceMetagenerationMatch=None, ifMetagenerationMatch=None)</a></code></p>
+<p class="firstline">Copies an object to a destination in the same location. Optionally overrides metadata.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(bucket, object, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None)</a></code></p>
+<p class="firstline">Deletes data blobs and associated metadata. Deletions are permanent if versioning is not enabled for the bucket, or if the generation parameter is used.</p>
+<p class="toc_element">
+  <code><a href="#get">get(bucket, object, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</a></code></p>
+<p class="firstline">Retrieves objects or their associated metadata.</p>
+<p class="toc_element">
+  <code><a href="#get_media">get_media(bucket, object, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</a></code></p>
+<p class="firstline">Retrieves objects or their associated metadata.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(bucket, body=None, media_body=None, projection=None, ifMetagenerationMatch=None, name=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, ifGenerationNotMatch=None)</a></code></p>
+<p class="firstline">Stores new data blobs and associated metadata.</p>
+<p class="toc_element">
+  <code><a href="#insert_media">insert_media(bucket, body=None, media_body=None, projection=None, ifMetagenerationMatch=None, name=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, ifGenerationNotMatch=None)</a></code></p>
+<p class="firstline">Stores new data blobs and associated metadata.</p>
+<p class="toc_element">
+  <code><a href="#list">list(bucket, projection=None, versions=None, delimiter=None, maxResults=None, pageToken=None, prefix=None)</a></code></p>
+<p class="firstline">Retrieves a list of objects matching the criteria.</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="#patch">patch(bucket, object, body, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</a></code></p>
+<p class="firstline">Updates a data blob's associated metadata. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(bucket, object, body, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</a></code></p>
+<p class="firstline">Updates a data blob's associated metadata.</p>
+<p class="toc_element">
+  <code><a href="#update_media">update_media(bucket, object, body, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</a></code></p>
+<p class="firstline">Updates a data blob's associated metadata.</p>
+<p class="toc_element">
+  <code><a href="#watchAll">watchAll(bucket, body, projection=None, versions=None, delimiter=None, maxResults=None, pageToken=None, prefix=None)</a></code></p>
+<p class="firstline">Watch for changes on all objects in a bucket.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="compose">compose(destinationBucket, destinationObject, body, ifMetagenerationMatch=None, ifGenerationMatch=None)</code>
+  <pre>Concatenates a list of existing objects into a new object in the same bucket.
+
+Args:
+  destinationBucket: string, Name of the bucket in which to store the new object. (required)
+  destinationObject: string, Name of the new object. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A Compose request.
+    "kind": "storage#composeRequest", # The kind of item this is.
+    "destination": { # An object. # Properties of the resulting object
+        "generation": "A String", # The content generation of this object. Used for object versioning.
+        "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
+        "mediaLink": "A String", # Media download link.
+        "owner": { # The owner of the object. This will always be the uploader of the object.
+          "entityId": "A String", # The ID for the entity.
+          "entity": "A String", # The entity, in the form user-userId.
+        },
+        "cacheControl": "A String", # Cache-Control directive for the object data.
+        "acl": [ # Access controls on the object.
+          { # An access-control entry.
+            "domain": "A String", # The domain associated with the entity, if any.
+            "generation": "A String", # The content generation of the object.
+            "object": "A String", # The name of the object.
+            "bucket": "A String", # The name of the bucket.
+            "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+            "entity": "A String", # The entity holding the permission, in one of the following forms:
+                # - user-userId
+                # - user-email
+                # - group-groupId
+                # - group-email
+                # - allUsers
+                # - allAuthenticatedUsers
+            "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+            "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+            "id": "A String", # The ID of the access-control entry.
+            "entityId": "A String", # The ID for the entity, if any.
+            "email": "A String", # The email address associated with the entity, if any.
+            "selfLink": "A String", # The link to this access-control entry.
+          },
+        ],
+        "id": "A String", # The ID of the object.
+        "size": "A String", # Content-Length of the data in bytes.
+        "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
+        "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
+        "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
+        "etag": "A String", # HTTP 1.1 Entity tag for the object.
+        "metadata": { # User-provided metadata, in key/value pairs.
+          "a_key": "A String", # An individual metadata entry.
+        },
+        "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
+        "contentType": "A String", # Content-Type of the object data.
+        "contentLanguage": "A String", # Content-Language of the object data.
+        "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
+        "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
+        "name": "A String", # The name of this object. Required if not specified by URL parameter.
+        "bucket": "A String", # The bucket containing this object.
+        "contentEncoding": "A String", # Content-Encoding of the object data.
+        "contentDisposition": "A String", # Content-Disposition of the object data.
+        "selfLink": "A String", # The link to this object.
+      },
+    "sourceObjects": [ # The list of source objects that will be concatenated into a single object.
+      {
+        "generation": "A String", # The generation of this object to use as the source.
+        "name": "A String", # The source object's name. The source object's bucket is implicitly the destination bucket.
+        "objectPreconditions": {
+          "ifGenerationMatch": "A String", # Only perform the composition if the generation of the source object that would be used matches this value. If this value and a generation are both specified, they must be the same value or the call will fail.
+        },
+      },
+    ],
+  }
+
+  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
+  ifGenerationMatch: string, Makes the operation conditional on whether the object's current generation matches the given value.
+
+Returns:
+  An object of the form:
+
+    { # An object.
+      "generation": "A String", # The content generation of this object. Used for object versioning.
+      "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
+      "mediaLink": "A String", # Media download link.
+      "owner": { # The owner of the object. This will always be the uploader of the object.
+        "entityId": "A String", # The ID for the entity.
+        "entity": "A String", # The entity, in the form user-userId.
+      },
+      "cacheControl": "A String", # Cache-Control directive for the object data.
+      "acl": [ # Access controls on the object.
+        { # An access-control entry.
+          "domain": "A String", # The domain associated with the entity, if any.
+          "generation": "A String", # The content generation of the object.
+          "object": "A String", # The name of the object.
+          "bucket": "A String", # The name of the bucket.
+          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+          "entity": "A String", # The entity holding the permission, in one of the following forms:
+              # - user-userId
+              # - user-email
+              # - group-groupId
+              # - group-email
+              # - allUsers
+              # - allAuthenticatedUsers
+          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+          "id": "A String", # The ID of the access-control entry.
+          "entityId": "A String", # The ID for the entity, if any.
+          "email": "A String", # The email address associated with the entity, if any.
+          "selfLink": "A String", # The link to this access-control entry.
+        },
+      ],
+      "id": "A String", # The ID of the object.
+      "size": "A String", # Content-Length of the data in bytes.
+      "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
+      "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
+      "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
+      "etag": "A String", # HTTP 1.1 Entity tag for the object.
+      "metadata": { # User-provided metadata, in key/value pairs.
+        "a_key": "A String", # An individual metadata entry.
+      },
+      "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
+      "contentType": "A String", # Content-Type of the object data.
+      "contentLanguage": "A String", # Content-Language of the object data.
+      "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
+      "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
+      "name": "A String", # The name of this object. Required if not specified by URL parameter.
+      "bucket": "A String", # The bucket containing this object.
+      "contentEncoding": "A String", # Content-Encoding of the object data.
+      "contentDisposition": "A String", # Content-Disposition of the object data.
+      "selfLink": "A String", # The link to this object.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="compose_media">compose_media(destinationBucket, destinationObject, body, ifMetagenerationMatch=None, ifGenerationMatch=None)</code>
+  <pre>Concatenates a list of existing objects into a new object in the same bucket.
+
+Args:
+  destinationBucket: string, Name of the bucket in which to store the new object. (required)
+  destinationObject: string, Name of the new object. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A Compose request.
+    "kind": "storage#composeRequest", # The kind of item this is.
+    "destination": { # An object. # Properties of the resulting object
+        "generation": "A String", # The content generation of this object. Used for object versioning.
+        "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
+        "mediaLink": "A String", # Media download link.
+        "owner": { # The owner of the object. This will always be the uploader of the object.
+          "entityId": "A String", # The ID for the entity.
+          "entity": "A String", # The entity, in the form user-userId.
+        },
+        "cacheControl": "A String", # Cache-Control directive for the object data.
+        "acl": [ # Access controls on the object.
+          { # An access-control entry.
+            "domain": "A String", # The domain associated with the entity, if any.
+            "generation": "A String", # The content generation of the object.
+            "object": "A String", # The name of the object.
+            "bucket": "A String", # The name of the bucket.
+            "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+            "entity": "A String", # The entity holding the permission, in one of the following forms:
+                # - user-userId
+                # - user-email
+                # - group-groupId
+                # - group-email
+                # - allUsers
+                # - allAuthenticatedUsers
+            "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+            "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+            "id": "A String", # The ID of the access-control entry.
+            "entityId": "A String", # The ID for the entity, if any.
+            "email": "A String", # The email address associated with the entity, if any.
+            "selfLink": "A String", # The link to this access-control entry.
+          },
+        ],
+        "id": "A String", # The ID of the object.
+        "size": "A String", # Content-Length of the data in bytes.
+        "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
+        "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
+        "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
+        "etag": "A String", # HTTP 1.1 Entity tag for the object.
+        "metadata": { # User-provided metadata, in key/value pairs.
+          "a_key": "A String", # An individual metadata entry.
+        },
+        "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
+        "contentType": "A String", # Content-Type of the object data.
+        "contentLanguage": "A String", # Content-Language of the object data.
+        "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
+        "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
+        "name": "A String", # The name of this object. Required if not specified by URL parameter.
+        "bucket": "A String", # The bucket containing this object.
+        "contentEncoding": "A String", # Content-Encoding of the object data.
+        "contentDisposition": "A String", # Content-Disposition of the object data.
+        "selfLink": "A String", # The link to this object.
+      },
+    "sourceObjects": [ # The list of source objects that will be concatenated into a single object.
+      {
+        "generation": "A String", # The generation of this object to use as the source.
+        "name": "A String", # The source object's name. The source object's bucket is implicitly the destination bucket.
+        "objectPreconditions": {
+          "ifGenerationMatch": "A String", # Only perform the composition if the generation of the source object that would be used matches this value. If this value and a generation are both specified, they must be the same value or the call will fail.
+        },
+      },
+    ],
+  }
+
+  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
+  ifGenerationMatch: string, Makes the operation conditional on whether the object's current generation matches the given value.
+
+Returns:
+  The media object as a string.
+
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="copy">copy(sourceBucket, sourceObject, destinationBucket, destinationObject, body, projection=None, sourceGeneration=None, ifSourceGenerationNotMatch=None, ifSourceMetagenerationNotMatch=None, ifGenerationMatch=None, ifGenerationNotMatch=None, ifMetagenerationNotMatch=None, ifSourceGenerationMatch=None, ifSourceMetagenerationMatch=None, ifMetagenerationMatch=None)</code>
+  <pre>Copies an object to a destination in the same location. Optionally overrides metadata.
+
+Args:
+  sourceBucket: string, Name of the bucket in which to find the source object. (required)
+  sourceObject: string, Name of the source object. (required)
+  destinationBucket: string, Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any. (required)
+  destinationObject: string, Name of the new object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An object.
+    "generation": "A String", # The content generation of this object. Used for object versioning.
+    "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
+    "mediaLink": "A String", # Media download link.
+    "owner": { # The owner of the object. This will always be the uploader of the object.
+      "entityId": "A String", # The ID for the entity.
+      "entity": "A String", # The entity, in the form user-userId.
+    },
+    "cacheControl": "A String", # Cache-Control directive for the object data.
+    "acl": [ # Access controls on the object.
+      { # An access-control entry.
+        "domain": "A String", # The domain associated with the entity, if any.
+        "generation": "A String", # The content generation of the object.
+        "object": "A String", # The name of the object.
+        "bucket": "A String", # The name of the bucket.
+        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+        "entity": "A String", # The entity holding the permission, in one of the following forms:
+            # - user-userId
+            # - user-email
+            # - group-groupId
+            # - group-email
+            # - allUsers
+            # - allAuthenticatedUsers
+        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+        "id": "A String", # The ID of the access-control entry.
+        "entityId": "A String", # The ID for the entity, if any.
+        "email": "A String", # The email address associated with the entity, if any.
+        "selfLink": "A String", # The link to this access-control entry.
+      },
+    ],
+    "id": "A String", # The ID of the object.
+    "size": "A String", # Content-Length of the data in bytes.
+    "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
+    "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
+    "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
+    "etag": "A String", # HTTP 1.1 Entity tag for the object.
+    "metadata": { # User-provided metadata, in key/value pairs.
+      "a_key": "A String", # An individual metadata entry.
+    },
+    "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
+    "contentType": "A String", # Content-Type of the object data.
+    "contentLanguage": "A String", # Content-Language of the object data.
+    "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
+    "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
+    "name": "A String", # The name of this object. Required if not specified by URL parameter.
+    "bucket": "A String", # The bucket containing this object.
+    "contentEncoding": "A String", # Content-Encoding of the object data.
+    "contentDisposition": "A String", # Content-Disposition of the object data.
+    "selfLink": "A String", # The link to this object.
+  }
+
+  projection: string, Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full.
+    Allowed values
+      full - Include all properties.
+      noAcl - Omit the acl property.
+  sourceGeneration: string, If present, selects a specific revision of the source object (as opposed to the latest version, the default).
+  ifSourceGenerationNotMatch: string, Makes the operation conditional on whether the source object's generation does not match the given value.
+  ifSourceMetagenerationNotMatch: string, Makes the operation conditional on whether the source object's current metageneration does not match the given value.
+  ifGenerationMatch: string, Makes the operation conditional on whether the destination object's current generation matches the given value.
+  ifGenerationNotMatch: string, Makes the operation conditional on whether the destination object's current generation does not match the given value.
+  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the destination object's current metageneration does not match the given value.
+  ifSourceGenerationMatch: string, Makes the operation conditional on whether the source object's generation matches the given value.
+  ifSourceMetagenerationMatch: string, Makes the operation conditional on whether the source object's current metageneration matches the given value.
+  ifMetagenerationMatch: string, Makes the operation conditional on whether the destination object's current metageneration matches the given value.
+
+Returns:
+  An object of the form:
+
+    { # An object.
+      "generation": "A String", # The content generation of this object. Used for object versioning.
+      "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
+      "mediaLink": "A String", # Media download link.
+      "owner": { # The owner of the object. This will always be the uploader of the object.
+        "entityId": "A String", # The ID for the entity.
+        "entity": "A String", # The entity, in the form user-userId.
+      },
+      "cacheControl": "A String", # Cache-Control directive for the object data.
+      "acl": [ # Access controls on the object.
+        { # An access-control entry.
+          "domain": "A String", # The domain associated with the entity, if any.
+          "generation": "A String", # The content generation of the object.
+          "object": "A String", # The name of the object.
+          "bucket": "A String", # The name of the bucket.
+          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+          "entity": "A String", # The entity holding the permission, in one of the following forms:
+              # - user-userId
+              # - user-email
+              # - group-groupId
+              # - group-email
+              # - allUsers
+              # - allAuthenticatedUsers
+          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+          "id": "A String", # The ID of the access-control entry.
+          "entityId": "A String", # The ID for the entity, if any.
+          "email": "A String", # The email address associated with the entity, if any.
+          "selfLink": "A String", # The link to this access-control entry.
+        },
+      ],
+      "id": "A String", # The ID of the object.
+      "size": "A String", # Content-Length of the data in bytes.
+      "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
+      "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
+      "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
+      "etag": "A String", # HTTP 1.1 Entity tag for the object.
+      "metadata": { # User-provided metadata, in key/value pairs.
+        "a_key": "A String", # An individual metadata entry.
+      },
+      "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
+      "contentType": "A String", # Content-Type of the object data.
+      "contentLanguage": "A String", # Content-Language of the object data.
+      "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
+      "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
+      "name": "A String", # The name of this object. Required if not specified by URL parameter.
+      "bucket": "A String", # The bucket containing this object.
+      "contentEncoding": "A String", # Content-Encoding of the object data.
+      "contentDisposition": "A String", # Content-Disposition of the object data.
+      "selfLink": "A String", # The link to this object.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="copy_media">copy_media(sourceBucket, sourceObject, destinationBucket, destinationObject, body, projection=None, sourceGeneration=None, ifSourceGenerationNotMatch=None, ifSourceMetagenerationNotMatch=None, ifGenerationMatch=None, ifGenerationNotMatch=None, ifMetagenerationNotMatch=None, ifSourceGenerationMatch=None, ifSourceMetagenerationMatch=None, ifMetagenerationMatch=None)</code>
+  <pre>Copies an object to a destination in the same location. Optionally overrides metadata.
+
+Args:
+  sourceBucket: string, Name of the bucket in which to find the source object. (required)
+  sourceObject: string, Name of the source object. (required)
+  destinationBucket: string, Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any. (required)
+  destinationObject: string, Name of the new object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An object.
+    "generation": "A String", # The content generation of this object. Used for object versioning.
+    "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
+    "mediaLink": "A String", # Media download link.
+    "owner": { # The owner of the object. This will always be the uploader of the object.
+      "entityId": "A String", # The ID for the entity.
+      "entity": "A String", # The entity, in the form user-userId.
+    },
+    "cacheControl": "A String", # Cache-Control directive for the object data.
+    "acl": [ # Access controls on the object.
+      { # An access-control entry.
+        "domain": "A String", # The domain associated with the entity, if any.
+        "generation": "A String", # The content generation of the object.
+        "object": "A String", # The name of the object.
+        "bucket": "A String", # The name of the bucket.
+        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+        "entity": "A String", # The entity holding the permission, in one of the following forms:
+            # - user-userId
+            # - user-email
+            # - group-groupId
+            # - group-email
+            # - allUsers
+            # - allAuthenticatedUsers
+        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+        "id": "A String", # The ID of the access-control entry.
+        "entityId": "A String", # The ID for the entity, if any.
+        "email": "A String", # The email address associated with the entity, if any.
+        "selfLink": "A String", # The link to this access-control entry.
+      },
+    ],
+    "id": "A String", # The ID of the object.
+    "size": "A String", # Content-Length of the data in bytes.
+    "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
+    "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
+    "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
+    "etag": "A String", # HTTP 1.1 Entity tag for the object.
+    "metadata": { # User-provided metadata, in key/value pairs.
+      "a_key": "A String", # An individual metadata entry.
+    },
+    "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
+    "contentType": "A String", # Content-Type of the object data.
+    "contentLanguage": "A String", # Content-Language of the object data.
+    "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
+    "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
+    "name": "A String", # The name of this object. Required if not specified by URL parameter.
+    "bucket": "A String", # The bucket containing this object.
+    "contentEncoding": "A String", # Content-Encoding of the object data.
+    "contentDisposition": "A String", # Content-Disposition of the object data.
+    "selfLink": "A String", # The link to this object.
+  }
+
+  projection: string, Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full.
+    Allowed values
+      full - Include all properties.
+      noAcl - Omit the acl property.
+  sourceGeneration: string, If present, selects a specific revision of the source object (as opposed to the latest version, the default).
+  ifSourceGenerationNotMatch: string, Makes the operation conditional on whether the source object's generation does not match the given value.
+  ifSourceMetagenerationNotMatch: string, Makes the operation conditional on whether the source object's current metageneration does not match the given value.
+  ifGenerationMatch: string, Makes the operation conditional on whether the destination object's current generation matches the given value.
+  ifGenerationNotMatch: string, Makes the operation conditional on whether the destination object's current generation does not match the given value.
+  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the destination object's current metageneration does not match the given value.
+  ifSourceGenerationMatch: string, Makes the operation conditional on whether the source object's generation matches the given value.
+  ifSourceMetagenerationMatch: string, Makes the operation conditional on whether the source object's current metageneration matches the given value.
+  ifMetagenerationMatch: string, Makes the operation conditional on whether the destination object's current metageneration matches the given value.
+
+Returns:
+  The media object as a string.
+
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(bucket, object, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None)</code>
+  <pre>Deletes data blobs and associated metadata. Deletions are permanent if versioning is not enabled for the bucket, or if the generation parameter is used.
+
+Args:
+  bucket: string, Name of the bucket in which the object resides. (required)
+  object: string, Name of the object. (required)
+  ifGenerationNotMatch: string, Makes the operation conditional on whether the object's current generation does not match the given value.
+  generation: string, If present, permanently deletes a specific revision of this object (as opposed to the latest version, the default).
+  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
+  ifGenerationMatch: string, Makes the operation conditional on whether the object's current generation matches the given value.
+  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the object's current metageneration does not match the given value.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(bucket, object, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</code>
+  <pre>Retrieves objects or their associated metadata.
+
+Args:
+  bucket: string, Name of the bucket in which the object resides. (required)
+  object: string, Name of the object. (required)
+  ifGenerationNotMatch: string, Makes the operation conditional on whether the object's generation does not match the given value.
+  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
+  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
+  ifGenerationMatch: string, Makes the operation conditional on whether the object's generation matches the given value.
+  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the object's current metageneration does not match the given value.
+  projection: string, Set of properties to return. Defaults to noAcl.
+    Allowed values
+      full - Include all properties.
+      noAcl - Omit the acl property.
+
+Returns:
+  An object of the form:
+
+    { # An object.
+      "generation": "A String", # The content generation of this object. Used for object versioning.
+      "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
+      "mediaLink": "A String", # Media download link.
+      "owner": { # The owner of the object. This will always be the uploader of the object.
+        "entityId": "A String", # The ID for the entity.
+        "entity": "A String", # The entity, in the form user-userId.
+      },
+      "cacheControl": "A String", # Cache-Control directive for the object data.
+      "acl": [ # Access controls on the object.
+        { # An access-control entry.
+          "domain": "A String", # The domain associated with the entity, if any.
+          "generation": "A String", # The content generation of the object.
+          "object": "A String", # The name of the object.
+          "bucket": "A String", # The name of the bucket.
+          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+          "entity": "A String", # The entity holding the permission, in one of the following forms:
+              # - user-userId
+              # - user-email
+              # - group-groupId
+              # - group-email
+              # - allUsers
+              # - allAuthenticatedUsers
+          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+          "id": "A String", # The ID of the access-control entry.
+          "entityId": "A String", # The ID for the entity, if any.
+          "email": "A String", # The email address associated with the entity, if any.
+          "selfLink": "A String", # The link to this access-control entry.
+        },
+      ],
+      "id": "A String", # The ID of the object.
+      "size": "A String", # Content-Length of the data in bytes.
+      "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
+      "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
+      "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
+      "etag": "A String", # HTTP 1.1 Entity tag for the object.
+      "metadata": { # User-provided metadata, in key/value pairs.
+        "a_key": "A String", # An individual metadata entry.
+      },
+      "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
+      "contentType": "A String", # Content-Type of the object data.
+      "contentLanguage": "A String", # Content-Language of the object data.
+      "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
+      "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
+      "name": "A String", # The name of this object. Required if not specified by URL parameter.
+      "bucket": "A String", # The bucket containing this object.
+      "contentEncoding": "A String", # Content-Encoding of the object data.
+      "contentDisposition": "A String", # Content-Disposition of the object data.
+      "selfLink": "A String", # The link to this object.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get_media">get_media(bucket, object, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</code>
+  <pre>Retrieves objects or their associated metadata.
+
+Args:
+  bucket: string, Name of the bucket in which the object resides. (required)
+  object: string, Name of the object. (required)
+  ifGenerationNotMatch: string, Makes the operation conditional on whether the object's generation does not match the given value.
+  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
+  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
+  ifGenerationMatch: string, Makes the operation conditional on whether the object's generation matches the given value.
+  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the object's current metageneration does not match the given value.
+  projection: string, Set of properties to return. Defaults to noAcl.
+    Allowed values
+      full - Include all properties.
+      noAcl - Omit the acl property.
+
+Returns:
+  The media object as a string.
+
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(bucket, body=None, media_body=None, projection=None, ifMetagenerationMatch=None, name=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, ifGenerationNotMatch=None)</code>
+  <pre>Stores new data blobs and associated metadata.
+
+Args:
+  bucket: string, Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # An object.
+    "generation": "A String", # The content generation of this object. Used for object versioning.
+    "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
+    "mediaLink": "A String", # Media download link.
+    "owner": { # The owner of the object. This will always be the uploader of the object.
+      "entityId": "A String", # The ID for the entity.
+      "entity": "A String", # The entity, in the form user-userId.
+    },
+    "cacheControl": "A String", # Cache-Control directive for the object data.
+    "acl": [ # Access controls on the object.
+      { # An access-control entry.
+        "domain": "A String", # The domain associated with the entity, if any.
+        "generation": "A String", # The content generation of the object.
+        "object": "A String", # The name of the object.
+        "bucket": "A String", # The name of the bucket.
+        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+        "entity": "A String", # The entity holding the permission, in one of the following forms:
+            # - user-userId
+            # - user-email
+            # - group-groupId
+            # - group-email
+            # - allUsers
+            # - allAuthenticatedUsers
+        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+        "id": "A String", # The ID of the access-control entry.
+        "entityId": "A String", # The ID for the entity, if any.
+        "email": "A String", # The email address associated with the entity, if any.
+        "selfLink": "A String", # The link to this access-control entry.
+      },
+    ],
+    "id": "A String", # The ID of the object.
+    "size": "A String", # Content-Length of the data in bytes.
+    "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
+    "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
+    "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
+    "etag": "A String", # HTTP 1.1 Entity tag for the object.
+    "metadata": { # User-provided metadata, in key/value pairs.
+      "a_key": "A String", # An individual metadata entry.
+    },
+    "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
+    "contentType": "A String", # Content-Type of the object data.
+    "contentLanguage": "A String", # Content-Language of the object data.
+    "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
+    "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
+    "name": "A String", # The name of this object. Required if not specified by URL parameter.
+    "bucket": "A String", # The bucket containing this object.
+    "contentEncoding": "A String", # Content-Encoding of the object data.
+    "contentDisposition": "A String", # Content-Disposition of the object data.
+    "selfLink": "A String", # The link to this object.
+  }
+
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+  projection: string, Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full.
+    Allowed values
+      full - Include all properties.
+      noAcl - Omit the acl property.
+  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
+  name: string, Name of the object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any.
+  ifGenerationMatch: string, Makes the operation conditional on whether the object's current generation matches the given value.
+  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the object's current metageneration does not match the given value.
+  ifGenerationNotMatch: string, Makes the operation conditional on whether the object's current generation does not match the given value.
+
+Returns:
+  An object of the form:
+
+    { # An object.
+      "generation": "A String", # The content generation of this object. Used for object versioning.
+      "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
+      "mediaLink": "A String", # Media download link.
+      "owner": { # The owner of the object. This will always be the uploader of the object.
+        "entityId": "A String", # The ID for the entity.
+        "entity": "A String", # The entity, in the form user-userId.
+      },
+      "cacheControl": "A String", # Cache-Control directive for the object data.
+      "acl": [ # Access controls on the object.
+        { # An access-control entry.
+          "domain": "A String", # The domain associated with the entity, if any.
+          "generation": "A String", # The content generation of the object.
+          "object": "A String", # The name of the object.
+          "bucket": "A String", # The name of the bucket.
+          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+          "entity": "A String", # The entity holding the permission, in one of the following forms:
+              # - user-userId
+              # - user-email
+              # - group-groupId
+              # - group-email
+              # - allUsers
+              # - allAuthenticatedUsers
+          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+          "id": "A String", # The ID of the access-control entry.
+          "entityId": "A String", # The ID for the entity, if any.
+          "email": "A String", # The email address associated with the entity, if any.
+          "selfLink": "A String", # The link to this access-control entry.
+        },
+      ],
+      "id": "A String", # The ID of the object.
+      "size": "A String", # Content-Length of the data in bytes.
+      "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
+      "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
+      "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
+      "etag": "A String", # HTTP 1.1 Entity tag for the object.
+      "metadata": { # User-provided metadata, in key/value pairs.
+        "a_key": "A String", # An individual metadata entry.
+      },
+      "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
+      "contentType": "A String", # Content-Type of the object data.
+      "contentLanguage": "A String", # Content-Language of the object data.
+      "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
+      "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
+      "name": "A String", # The name of this object. Required if not specified by URL parameter.
+      "bucket": "A String", # The bucket containing this object.
+      "contentEncoding": "A String", # Content-Encoding of the object data.
+      "contentDisposition": "A String", # Content-Disposition of the object data.
+      "selfLink": "A String", # The link to this object.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert_media">insert_media(bucket, body=None, media_body=None, projection=None, ifMetagenerationMatch=None, name=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, ifGenerationNotMatch=None)</code>
+  <pre>Stores new data blobs and associated metadata.
+
+Args:
+  bucket: string, Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # An object.
+    "generation": "A String", # The content generation of this object. Used for object versioning.
+    "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
+    "mediaLink": "A String", # Media download link.
+    "owner": { # The owner of the object. This will always be the uploader of the object.
+      "entityId": "A String", # The ID for the entity.
+      "entity": "A String", # The entity, in the form user-userId.
+    },
+    "cacheControl": "A String", # Cache-Control directive for the object data.
+    "acl": [ # Access controls on the object.
+      { # An access-control entry.
+        "domain": "A String", # The domain associated with the entity, if any.
+        "generation": "A String", # The content generation of the object.
+        "object": "A String", # The name of the object.
+        "bucket": "A String", # The name of the bucket.
+        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+        "entity": "A String", # The entity holding the permission, in one of the following forms:
+            # - user-userId
+            # - user-email
+            # - group-groupId
+            # - group-email
+            # - allUsers
+            # - allAuthenticatedUsers
+        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+        "id": "A String", # The ID of the access-control entry.
+        "entityId": "A String", # The ID for the entity, if any.
+        "email": "A String", # The email address associated with the entity, if any.
+        "selfLink": "A String", # The link to this access-control entry.
+      },
+    ],
+    "id": "A String", # The ID of the object.
+    "size": "A String", # Content-Length of the data in bytes.
+    "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
+    "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
+    "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
+    "etag": "A String", # HTTP 1.1 Entity tag for the object.
+    "metadata": { # User-provided metadata, in key/value pairs.
+      "a_key": "A String", # An individual metadata entry.
+    },
+    "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
+    "contentType": "A String", # Content-Type of the object data.
+    "contentLanguage": "A String", # Content-Language of the object data.
+    "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
+    "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
+    "name": "A String", # The name of this object. Required if not specified by URL parameter.
+    "bucket": "A String", # The bucket containing this object.
+    "contentEncoding": "A String", # Content-Encoding of the object data.
+    "contentDisposition": "A String", # Content-Disposition of the object data.
+    "selfLink": "A String", # The link to this object.
+  }
+
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+  projection: string, Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full.
+    Allowed values
+      full - Include all properties.
+      noAcl - Omit the acl property.
+  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
+  name: string, Name of the object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any.
+  ifGenerationMatch: string, Makes the operation conditional on whether the object's current generation matches the given value.
+  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the object's current metageneration does not match the given value.
+  ifGenerationNotMatch: string, Makes the operation conditional on whether the object's current generation does not match the given value.
+
+Returns:
+  The media object as a string.
+
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(bucket, projection=None, versions=None, delimiter=None, maxResults=None, pageToken=None, prefix=None)</code>
+  <pre>Retrieves a list of objects matching the criteria.
+
+Args:
+  bucket: string, Name of the bucket in which to look for objects. (required)
+  projection: string, Set of properties to return. Defaults to noAcl.
+    Allowed values
+      full - Include all properties.
+      noAcl - Omit the acl property.
+  versions: boolean, If true, lists all versions of a file as distinct results.
+  delimiter: string, Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted.
+  maxResults: integer, Maximum number of items plus prefixes to return. As duplicate prefixes are omitted, fewer total results may be returned than requested.
+  pageToken: string, A previously-returned page token representing part of the larger set of results to view.
+  prefix: string, Filter results to objects whose names begin with this prefix.
+
+Returns:
+  An object of the form:
+
+    { # A list of objects.
+    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "items": [ # The list of items.
+      { # An object.
+          "generation": "A String", # The content generation of this object. Used for object versioning.
+          "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
+          "mediaLink": "A String", # Media download link.
+          "owner": { # The owner of the object. This will always be the uploader of the object.
+            "entityId": "A String", # The ID for the entity.
+            "entity": "A String", # The entity, in the form user-userId.
+          },
+          "cacheControl": "A String", # Cache-Control directive for the object data.
+          "acl": [ # Access controls on the object.
+            { # An access-control entry.
+              "domain": "A String", # The domain associated with the entity, if any.
+              "generation": "A String", # The content generation of the object.
+              "object": "A String", # The name of the object.
+              "bucket": "A String", # The name of the bucket.
+              "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+              "entity": "A String", # The entity holding the permission, in one of the following forms:
+                  # - user-userId
+                  # - user-email
+                  # - group-groupId
+                  # - group-email
+                  # - allUsers
+                  # - allAuthenticatedUsers
+              "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+              "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+              "id": "A String", # The ID of the access-control entry.
+              "entityId": "A String", # The ID for the entity, if any.
+              "email": "A String", # The email address associated with the entity, if any.
+              "selfLink": "A String", # The link to this access-control entry.
+            },
+          ],
+          "id": "A String", # The ID of the object.
+          "size": "A String", # Content-Length of the data in bytes.
+          "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
+          "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
+          "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
+          "etag": "A String", # HTTP 1.1 Entity tag for the object.
+          "metadata": { # User-provided metadata, in key/value pairs.
+            "a_key": "A String", # An individual metadata entry.
+          },
+          "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
+          "contentType": "A String", # Content-Type of the object data.
+          "contentLanguage": "A String", # Content-Language of the object data.
+          "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
+          "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
+          "name": "A String", # The name of this object. Required if not specified by URL parameter.
+          "bucket": "A String", # The bucket containing this object.
+          "contentEncoding": "A String", # Content-Encoding of the object data.
+          "contentDisposition": "A String", # Content-Disposition of the object data.
+          "selfLink": "A String", # The link to this object.
+        },
+    ],
+    "kind": "storage#objects", # The kind of item this is. For lists of objects, this is always storage#objects.
+    "prefixes": [ # The list of prefixes of objects matching-but-not-listed up to and including the requested delimiter.
+      "A String",
+    ],
+  }</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="patch">patch(bucket, object, body, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</code>
+  <pre>Updates a data blob's associated metadata. This method supports patch semantics.
+
+Args:
+  bucket: string, Name of the bucket in which the object resides. (required)
+  object: string, Name of the object. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An object.
+    "generation": "A String", # The content generation of this object. Used for object versioning.
+    "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
+    "mediaLink": "A String", # Media download link.
+    "owner": { # The owner of the object. This will always be the uploader of the object.
+      "entityId": "A String", # The ID for the entity.
+      "entity": "A String", # The entity, in the form user-userId.
+    },
+    "cacheControl": "A String", # Cache-Control directive for the object data.
+    "acl": [ # Access controls on the object.
+      { # An access-control entry.
+        "domain": "A String", # The domain associated with the entity, if any.
+        "generation": "A String", # The content generation of the object.
+        "object": "A String", # The name of the object.
+        "bucket": "A String", # The name of the bucket.
+        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+        "entity": "A String", # The entity holding the permission, in one of the following forms:
+            # - user-userId
+            # - user-email
+            # - group-groupId
+            # - group-email
+            # - allUsers
+            # - allAuthenticatedUsers
+        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+        "id": "A String", # The ID of the access-control entry.
+        "entityId": "A String", # The ID for the entity, if any.
+        "email": "A String", # The email address associated with the entity, if any.
+        "selfLink": "A String", # The link to this access-control entry.
+      },
+    ],
+    "id": "A String", # The ID of the object.
+    "size": "A String", # Content-Length of the data in bytes.
+    "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
+    "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
+    "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
+    "etag": "A String", # HTTP 1.1 Entity tag for the object.
+    "metadata": { # User-provided metadata, in key/value pairs.
+      "a_key": "A String", # An individual metadata entry.
+    },
+    "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
+    "contentType": "A String", # Content-Type of the object data.
+    "contentLanguage": "A String", # Content-Language of the object data.
+    "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
+    "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
+    "name": "A String", # The name of this object. Required if not specified by URL parameter.
+    "bucket": "A String", # The bucket containing this object.
+    "contentEncoding": "A String", # Content-Encoding of the object data.
+    "contentDisposition": "A String", # Content-Disposition of the object data.
+    "selfLink": "A String", # The link to this object.
+  }
+
+  ifGenerationNotMatch: string, Makes the operation conditional on whether the object's current generation does not match the given value.
+  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
+  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
+  ifGenerationMatch: string, Makes the operation conditional on whether the object's current generation matches the given value.
+  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the object's current metageneration does not match the given value.
+  projection: string, Set of properties to return. Defaults to full.
+    Allowed values
+      full - Include all properties.
+      noAcl - Omit the acl property.
+
+Returns:
+  An object of the form:
+
+    { # An object.
+      "generation": "A String", # The content generation of this object. Used for object versioning.
+      "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
+      "mediaLink": "A String", # Media download link.
+      "owner": { # The owner of the object. This will always be the uploader of the object.
+        "entityId": "A String", # The ID for the entity.
+        "entity": "A String", # The entity, in the form user-userId.
+      },
+      "cacheControl": "A String", # Cache-Control directive for the object data.
+      "acl": [ # Access controls on the object.
+        { # An access-control entry.
+          "domain": "A String", # The domain associated with the entity, if any.
+          "generation": "A String", # The content generation of the object.
+          "object": "A String", # The name of the object.
+          "bucket": "A String", # The name of the bucket.
+          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+          "entity": "A String", # The entity holding the permission, in one of the following forms:
+              # - user-userId
+              # - user-email
+              # - group-groupId
+              # - group-email
+              # - allUsers
+              # - allAuthenticatedUsers
+          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+          "id": "A String", # The ID of the access-control entry.
+          "entityId": "A String", # The ID for the entity, if any.
+          "email": "A String", # The email address associated with the entity, if any.
+          "selfLink": "A String", # The link to this access-control entry.
+        },
+      ],
+      "id": "A String", # The ID of the object.
+      "size": "A String", # Content-Length of the data in bytes.
+      "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
+      "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
+      "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
+      "etag": "A String", # HTTP 1.1 Entity tag for the object.
+      "metadata": { # User-provided metadata, in key/value pairs.
+        "a_key": "A String", # An individual metadata entry.
+      },
+      "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
+      "contentType": "A String", # Content-Type of the object data.
+      "contentLanguage": "A String", # Content-Language of the object data.
+      "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
+      "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
+      "name": "A String", # The name of this object. Required if not specified by URL parameter.
+      "bucket": "A String", # The bucket containing this object.
+      "contentEncoding": "A String", # Content-Encoding of the object data.
+      "contentDisposition": "A String", # Content-Disposition of the object data.
+      "selfLink": "A String", # The link to this object.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(bucket, object, body, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</code>
+  <pre>Updates a data blob's associated metadata.
+
+Args:
+  bucket: string, Name of the bucket in which the object resides. (required)
+  object: string, Name of the object. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An object.
+    "generation": "A String", # The content generation of this object. Used for object versioning.
+    "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
+    "mediaLink": "A String", # Media download link.
+    "owner": { # The owner of the object. This will always be the uploader of the object.
+      "entityId": "A String", # The ID for the entity.
+      "entity": "A String", # The entity, in the form user-userId.
+    },
+    "cacheControl": "A String", # Cache-Control directive for the object data.
+    "acl": [ # Access controls on the object.
+      { # An access-control entry.
+        "domain": "A String", # The domain associated with the entity, if any.
+        "generation": "A String", # The content generation of the object.
+        "object": "A String", # The name of the object.
+        "bucket": "A String", # The name of the bucket.
+        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+        "entity": "A String", # The entity holding the permission, in one of the following forms:
+            # - user-userId
+            # - user-email
+            # - group-groupId
+            # - group-email
+            # - allUsers
+            # - allAuthenticatedUsers
+        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+        "id": "A String", # The ID of the access-control entry.
+        "entityId": "A String", # The ID for the entity, if any.
+        "email": "A String", # The email address associated with the entity, if any.
+        "selfLink": "A String", # The link to this access-control entry.
+      },
+    ],
+    "id": "A String", # The ID of the object.
+    "size": "A String", # Content-Length of the data in bytes.
+    "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
+    "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
+    "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
+    "etag": "A String", # HTTP 1.1 Entity tag for the object.
+    "metadata": { # User-provided metadata, in key/value pairs.
+      "a_key": "A String", # An individual metadata entry.
+    },
+    "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
+    "contentType": "A String", # Content-Type of the object data.
+    "contentLanguage": "A String", # Content-Language of the object data.
+    "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
+    "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
+    "name": "A String", # The name of this object. Required if not specified by URL parameter.
+    "bucket": "A String", # The bucket containing this object.
+    "contentEncoding": "A String", # Content-Encoding of the object data.
+    "contentDisposition": "A String", # Content-Disposition of the object data.
+    "selfLink": "A String", # The link to this object.
+  }
+
+  ifGenerationNotMatch: string, Makes the operation conditional on whether the object's current generation does not match the given value.
+  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
+  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
+  ifGenerationMatch: string, Makes the operation conditional on whether the object's current generation matches the given value.
+  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the object's current metageneration does not match the given value.
+  projection: string, Set of properties to return. Defaults to full.
+    Allowed values
+      full - Include all properties.
+      noAcl - Omit the acl property.
+
+Returns:
+  An object of the form:
+
+    { # An object.
+      "generation": "A String", # The content generation of this object. Used for object versioning.
+      "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
+      "mediaLink": "A String", # Media download link.
+      "owner": { # The owner of the object. This will always be the uploader of the object.
+        "entityId": "A String", # The ID for the entity.
+        "entity": "A String", # The entity, in the form user-userId.
+      },
+      "cacheControl": "A String", # Cache-Control directive for the object data.
+      "acl": [ # Access controls on the object.
+        { # An access-control entry.
+          "domain": "A String", # The domain associated with the entity, if any.
+          "generation": "A String", # The content generation of the object.
+          "object": "A String", # The name of the object.
+          "bucket": "A String", # The name of the bucket.
+          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+          "entity": "A String", # The entity holding the permission, in one of the following forms:
+              # - user-userId
+              # - user-email
+              # - group-groupId
+              # - group-email
+              # - allUsers
+              # - allAuthenticatedUsers
+          "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+          "id": "A String", # The ID of the access-control entry.
+          "entityId": "A String", # The ID for the entity, if any.
+          "email": "A String", # The email address associated with the entity, if any.
+          "selfLink": "A String", # The link to this access-control entry.
+        },
+      ],
+      "id": "A String", # The ID of the object.
+      "size": "A String", # Content-Length of the data in bytes.
+      "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
+      "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
+      "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
+      "etag": "A String", # HTTP 1.1 Entity tag for the object.
+      "metadata": { # User-provided metadata, in key/value pairs.
+        "a_key": "A String", # An individual metadata entry.
+      },
+      "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
+      "contentType": "A String", # Content-Type of the object data.
+      "contentLanguage": "A String", # Content-Language of the object data.
+      "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
+      "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
+      "name": "A String", # The name of this object. Required if not specified by URL parameter.
+      "bucket": "A String", # The bucket containing this object.
+      "contentEncoding": "A String", # Content-Encoding of the object data.
+      "contentDisposition": "A String", # Content-Disposition of the object data.
+      "selfLink": "A String", # The link to this object.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update_media">update_media(bucket, object, body, ifGenerationNotMatch=None, generation=None, ifMetagenerationMatch=None, ifGenerationMatch=None, ifMetagenerationNotMatch=None, projection=None)</code>
+  <pre>Updates a data blob's associated metadata.
+
+Args:
+  bucket: string, Name of the bucket in which the object resides. (required)
+  object: string, Name of the object. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An object.
+    "generation": "A String", # The content generation of this object. Used for object versioning.
+    "componentCount": 42, # Number of underlying components that make up this object. Components are accumulated by compose operations and are limited to a count of 32.
+    "mediaLink": "A String", # Media download link.
+    "owner": { # The owner of the object. This will always be the uploader of the object.
+      "entityId": "A String", # The ID for the entity.
+      "entity": "A String", # The entity, in the form user-userId.
+    },
+    "cacheControl": "A String", # Cache-Control directive for the object data.
+    "acl": [ # Access controls on the object.
+      { # An access-control entry.
+        "domain": "A String", # The domain associated with the entity, if any.
+        "generation": "A String", # The content generation of the object.
+        "object": "A String", # The name of the object.
+        "bucket": "A String", # The name of the bucket.
+        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
+        "entity": "A String", # The entity holding the permission, in one of the following forms:
+            # - user-userId
+            # - user-email
+            # - group-groupId
+            # - group-email
+            # - allUsers
+            # - allAuthenticatedUsers
+        "etag": "A String", # HTTP 1.1 Entity tag for the access-control entry.
+        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
+        "id": "A String", # The ID of the access-control entry.
+        "entityId": "A String", # The ID for the entity, if any.
+        "email": "A String", # The email address associated with the entity, if any.
+        "selfLink": "A String", # The link to this access-control entry.
+      },
+    ],
+    "id": "A String", # The ID of the object.
+    "size": "A String", # Content-Length of the data in bytes.
+    "timeDeleted": "A String", # Deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
+    "md5Hash": "A String", # MD5 hash of the data; encoded using base64.
+    "crc32c": "A String", # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64.
+    "etag": "A String", # HTTP 1.1 Entity tag for the object.
+    "metadata": { # User-provided metadata, in key/value pairs.
+      "a_key": "A String", # An individual metadata entry.
+    },
+    "updated": "A String", # Modification time of the object metadata in RFC 3339 format.
+    "contentType": "A String", # Content-Type of the object data.
+    "contentLanguage": "A String", # Content-Language of the object data.
+    "metageneration": "A String", # The generation of the metadata for this object at this generation. Used for metadata versioning. Has no meaning outside of the context of this generation.
+    "kind": "storage#object", # The kind of item this is. For objects, this is always storage#object.
+    "name": "A String", # The name of this object. Required if not specified by URL parameter.
+    "bucket": "A String", # The bucket containing this object.
+    "contentEncoding": "A String", # Content-Encoding of the object data.
+    "contentDisposition": "A String", # Content-Disposition of the object data.
+    "selfLink": "A String", # The link to this object.
+  }
+
+  ifGenerationNotMatch: string, Makes the operation conditional on whether the object's current generation does not match the given value.
+  generation: string, If present, selects a specific revision of this object (as opposed to the latest version, the default).
+  ifMetagenerationMatch: string, Makes the operation conditional on whether the object's current metageneration matches the given value.
+  ifGenerationMatch: string, Makes the operation conditional on whether the object's current generation matches the given value.
+  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the object's current metageneration does not match the given value.
+  projection: string, Set of properties to return. Defaults to full.
+    Allowed values
+      full - Include all properties.
+      noAcl - Omit the acl property.
+
+Returns:
+  The media object as a string.
+
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="watchAll">watchAll(bucket, body, projection=None, versions=None, delimiter=None, maxResults=None, pageToken=None, prefix=None)</code>
+  <pre>Watch for changes on all objects in a bucket.
+
+Args:
+  bucket: string, Name of the bucket in which to look for objects. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "resourceUri": "A String", # The canonicalized ID of the watched resource.
+    "kind": "api#channel", # A channel watching an API resource
+    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
+    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
+    "params": { # Additional parameters controlling delivery channel behavior
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # The expiration instant for this channel if it is defined.
+    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
+    "type": "A String", # The type of delivery mechanism used by this channel
+    "id": "A String", # A UUID for the channel
+  }
+
+  projection: string, Set of properties to return. Defaults to noAcl.
+    Allowed values
+      full - Include all properties.
+      noAcl - Omit the acl property.
+  versions: boolean, If true, lists all versions of a file as distinct results.
+  delimiter: string, Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted.
+  maxResults: integer, Maximum number of items plus prefixes to return. As duplicate prefixes are omitted, fewer total results may be returned than requested.
+  pageToken: string, A previously-returned page token representing part of the larger set of results to view.
+  prefix: string, Filter results to objects whose names begin with this prefix.
+
+Returns:
+  An object of the form:
+
+    {
+      "resourceUri": "A String", # The canonicalized ID of the watched resource.
+      "kind": "api#channel", # A channel watching an API resource
+      "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
+      "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
+      "params": { # Additional parameters controlling delivery channel behavior
+        "a_key": "A String", # Declares a new parameter by name.
+      },
+      "expiration": "A String", # The expiration instant for this channel if it is defined.
+      "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
+      "type": "A String", # The type of delivery mechanism used by this channel
+      "id": "A String", # A UUID for the channel
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/taskqueue_v1beta2.tasks.html b/docs/dyn/taskqueue_v1beta2.tasks.html
index 939311e..c9fbb64 100644
--- a/docs/dyn/taskqueue_v1beta2.tasks.html
+++ b/docs/dyn/taskqueue_v1beta2.tasks.html
@@ -123,6 +123,7 @@
       "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
       "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
       "id": "A String", # Name of the task.
+      "retry_count": 42, # The number of leases applied to this task.
       "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
       "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
       "queueName": "A String", # Name of the queue that the task is in.
@@ -144,6 +145,7 @@
     "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
     "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
     "id": "A String", # Name of the task.
+    "retry_count": 42, # The number of leases applied to this task.
     "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
     "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
     "queueName": "A String", # Name of the queue that the task is in.
@@ -158,6 +160,7 @@
       "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
       "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
       "id": "A String", # Name of the task.
+      "retry_count": 42, # The number of leases applied to this task.
       "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
       "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
       "queueName": "A String", # Name of the queue that the task is in.
@@ -186,6 +189,7 @@
           "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
           "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
           "id": "A String", # Name of the task.
+          "retry_count": 42, # The number of leases applied to this task.
           "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
           "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
           "queueName": "A String", # Name of the queue that the task is in.
@@ -213,6 +217,7 @@
           "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
           "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
           "id": "A String", # Name of the task.
+          "retry_count": 42, # The number of leases applied to this task.
           "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
           "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
           "queueName": "A String", # Name of the queue that the task is in.
@@ -239,6 +244,7 @@
     "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
     "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
     "id": "A String", # Name of the task.
+    "retry_count": 42, # The number of leases applied to this task.
     "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
     "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
     "queueName": "A String", # Name of the queue that the task is in.
@@ -253,6 +259,7 @@
       "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
       "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
       "id": "A String", # Name of the task.
+      "retry_count": 42, # The number of leases applied to this task.
       "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
       "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
       "queueName": "A String", # Name of the queue that the task is in.
@@ -276,6 +283,7 @@
     "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
     "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
     "id": "A String", # Name of the task.
+    "retry_count": 42, # The number of leases applied to this task.
     "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
     "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
     "queueName": "A String", # Name of the queue that the task is in.
@@ -290,6 +298,7 @@
       "kind": "taskqueues#task", # The kind of object returned, in this case set to task.
       "leaseTimestamp": "A String", # Time (in seconds since the epoch) at which the task lease will expire. This value is 0 if the task isnt currently leased out to a worker.
       "id": "A String", # Name of the task.
+      "retry_count": 42, # The number of leases applied to this task.
       "tag": "A String", # Tag for the task, could be used later to lease tasks grouped by a specific tag.
       "payloadBase64": "A String", # A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.
       "queueName": "A String", # Name of the queue that the task is in.
diff --git a/docs/dyn/v1dev_v1dev.channels.html b/docs/dyn/v1dev_v1dev.channels.html
new file mode 100644
index 0000000..70cd2c8
--- /dev/null
+++ b/docs/dyn/v1dev_v1dev.channels.html
@@ -0,0 +1,106 @@
+<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="v1dev_v1dev.html">Wax API</a> . <a href="v1dev_v1dev.channels.html">channels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#stop">stop(body)</a></code></p>
+<p class="firstline">A description of how to use this function</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="stop">stop(body)</code>
+  <pre>A description of how to use this function
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "resourceUri": "A String", # The canonicalized ID of the watched resource.
+    "kind": "api#channel", # A channel watching an API resource
+    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
+    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
+    "params": { # Additional parameters controlling delivery channel behavior
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # The expiration instant for this channel if it is defined.
+    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
+    "type": "A String", # The type of delivery mechanism used by this channel
+    "id": "A String", # A UUID for the channel
+  }
+
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/v1dev_v1dev.html b/docs/dyn/v1dev_v1dev.html
new file mode 100644
index 0000000..f692b42
--- /dev/null
+++ b/docs/dyn/v1dev_v1dev.html
@@ -0,0 +1,92 @@
+<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="v1dev_v1dev.html">Wax API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="v1dev_v1dev.channels.html">channels()</a></code>
+</p>
+<p class="firstline">Returns the channels Resource.</p>
+
+<p class="toc_element">
+  <code><a href="v1dev_v1dev.items.html">items()</a></code>
+</p>
+<p class="firstline">Returns the items Resource.</p>
+
+<p class="toc_element">
+  <code><a href="v1dev_v1dev.sessions.html">sessions()</a></code>
+</p>
+<p class="firstline">Returns the sessions Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/v1dev_v1dev.items.html b/docs/dyn/v1dev_v1dev.items.html
new file mode 100644
index 0000000..f6c6908
--- /dev/null
+++ b/docs/dyn/v1dev_v1dev.items.html
@@ -0,0 +1,333 @@
+<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="v1dev_v1dev.html">Wax API</a> . <a href="v1dev_v1dev.items.html">items</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(sessionId, itemId)</a></code></p>
+<p class="firstline">Deletes an item.</p>
+<p class="toc_element">
+  <code><a href="#get">get(sessionId, itemId)</a></code></p>
+<p class="firstline">Gets one item by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(sessionId, body)</a></code></p>
+<p class="firstline">Inserts a new item into this session.</p>
+<p class="toc_element">
+  <code><a href="#list">list(sessionId)</a></code></p>
+<p class="firstline">Retrieves a list of items in a session.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(sessionId, itemId, body)</a></code></p>
+<p class="firstline">Updates an existing item. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(sessionId, itemId, body)</a></code></p>
+<p class="firstline">Updates an existing item.</p>
+<p class="toc_element">
+  <code><a href="#watch">watch(sessionId, body)</a></code></p>
+<p class="firstline">Subscribe to changes to any item in a session.</p>
+<p class="toc_element">
+  <code><a href="#watchToOneItem">watchToOneItem(sessionId, itemId, body)</a></code></p>
+<p class="firstline">Subscribe to changes to one item in a session.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(sessionId, itemId)</code>
+  <pre>Deletes an item.
+
+Args:
+  sessionId: string, The session ID. (required)
+  itemId: string, The item ID. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(sessionId, itemId)</code>
+  <pre>Gets one item by ID.
+
+Args:
+  sessionId: string, The session ID. (required)
+  itemId: string, The item ID. (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "blobOfData": "A String", # A blob of data stored in the item.
+      "sizeInBytes": 42, # The size (in bytes) of the blob of data.
+      "kind": "wax#waxDataItem", # The kind of object this is.
+      "id": "A String", # The item ID.
+      "name": "A String", # The name of the item.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(sessionId, body)</code>
+  <pre>Inserts a new item into this session.
+
+Args:
+  sessionId: string, The session ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "blobOfData": "A String", # A blob of data stored in the item.
+    "sizeInBytes": 42, # The size (in bytes) of the blob of data.
+    "kind": "wax#waxDataItem", # The kind of object this is.
+    "id": "A String", # The item ID.
+    "name": "A String", # The name of the item.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "blobOfData": "A String", # A blob of data stored in the item.
+      "sizeInBytes": 42, # The size (in bytes) of the blob of data.
+      "kind": "wax#waxDataItem", # The kind of object this is.
+      "id": "A String", # The item ID.
+      "name": "A String", # The name of the item.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(sessionId)</code>
+  <pre>Retrieves a list of items in a session.
+
+Args:
+  sessionId: string, The session ID. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # The list of Wax items.
+      {
+          "blobOfData": "A String", # A blob of data stored in the item.
+          "sizeInBytes": 42, # The size (in bytes) of the blob of data.
+          "kind": "wax#waxDataItem", # The kind of object this is.
+          "id": "A String", # The item ID.
+          "name": "A String", # The name of the item.
+        },
+    ],
+    "kind": "wax#waxList", # The kind of object this is.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(sessionId, itemId, body)</code>
+  <pre>Updates an existing item. This method supports patch semantics.
+
+Args:
+  sessionId: string, The session ID. (required)
+  itemId: string, The item ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "blobOfData": "A String", # A blob of data stored in the item.
+    "sizeInBytes": 42, # The size (in bytes) of the blob of data.
+    "kind": "wax#waxDataItem", # The kind of object this is.
+    "id": "A String", # The item ID.
+    "name": "A String", # The name of the item.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "blobOfData": "A String", # A blob of data stored in the item.
+      "sizeInBytes": 42, # The size (in bytes) of the blob of data.
+      "kind": "wax#waxDataItem", # The kind of object this is.
+      "id": "A String", # The item ID.
+      "name": "A String", # The name of the item.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(sessionId, itemId, body)</code>
+  <pre>Updates an existing item.
+
+Args:
+  sessionId: string, The session ID. (required)
+  itemId: string, The item ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "blobOfData": "A String", # A blob of data stored in the item.
+    "sizeInBytes": 42, # The size (in bytes) of the blob of data.
+    "kind": "wax#waxDataItem", # The kind of object this is.
+    "id": "A String", # The item ID.
+    "name": "A String", # The name of the item.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "blobOfData": "A String", # A blob of data stored in the item.
+      "sizeInBytes": 42, # The size (in bytes) of the blob of data.
+      "kind": "wax#waxDataItem", # The kind of object this is.
+      "id": "A String", # The item ID.
+      "name": "A String", # The name of the item.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="watch">watch(sessionId, body)</code>
+  <pre>Subscribe to changes to any item in a session.
+
+Args:
+  sessionId: string, The session ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "resourceUri": "A String", # The canonicalized ID of the watched resource.
+    "kind": "api#channel", # A channel watching an API resource
+    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
+    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
+    "params": { # Additional parameters controlling delivery channel behavior
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # The expiration instant for this channel if it is defined.
+    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
+    "type": "A String", # The type of delivery mechanism used by this channel
+    "id": "A String", # A UUID for the channel
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "resourceUri": "A String", # The canonicalized ID of the watched resource.
+      "kind": "api#channel", # A channel watching an API resource
+      "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
+      "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
+      "params": { # Additional parameters controlling delivery channel behavior
+        "a_key": "A String", # Declares a new parameter by name.
+      },
+      "expiration": "A String", # The expiration instant for this channel if it is defined.
+      "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
+      "type": "A String", # The type of delivery mechanism used by this channel
+      "id": "A String", # A UUID for the channel
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="watchToOneItem">watchToOneItem(sessionId, itemId, body)</code>
+  <pre>Subscribe to changes to one item in a session.
+
+Args:
+  sessionId: string, The session ID. (required)
+  itemId: string, The item ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "resourceUri": "A String", # The canonicalized ID of the watched resource.
+    "kind": "api#channel", # A channel watching an API resource
+    "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
+    "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
+    "params": { # Additional parameters controlling delivery channel behavior
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # The expiration instant for this channel if it is defined.
+    "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
+    "type": "A String", # The type of delivery mechanism used by this channel
+    "id": "A String", # A UUID for the channel
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "resourceUri": "A String", # The canonicalized ID of the watched resource.
+      "kind": "api#channel", # A channel watching an API resource
+      "resourceId": "A String", # An opaque id that identifies the resource that is being watched. Stable across different API versions
+      "token": "A String", # An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
+      "params": { # Additional parameters controlling delivery channel behavior
+        "a_key": "A String", # Declares a new parameter by name.
+      },
+      "expiration": "A String", # The expiration instant for this channel if it is defined.
+      "address": "A String", # The address of the receiving entity where events are delivered. Specific to the channel type.
+      "type": "A String", # The type of delivery mechanism used by this channel
+      "id": "A String", # A UUID for the channel
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/v1dev_v1dev.sessions.html b/docs/dyn/v1dev_v1dev.sessions.html
new file mode 100644
index 0000000..f3c8574
--- /dev/null
+++ b/docs/dyn/v1dev_v1dev.sessions.html
@@ -0,0 +1,160 @@
+<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="v1dev_v1dev.html">Wax API</a> . <a href="v1dev_v1dev.sessions.html">sessions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#create">create(body)</a></code></p>
+<p class="firstline">Creates a new session. New sessions are initialized with two pre-defined items. Just like wax.sessions.newsession, but matches other implementations of Wax in Endpoints.</p>
+<p class="toc_element">
+  <code><a href="#newSession">newSession(body, sessionName=None)</a></code></p>
+<p class="firstline">Creates a new session. New sessions are initialized with two pre-defined items.</p>
+<p class="toc_element">
+  <code><a href="#removeSession">removeSession(body, sessionId=None)</a></code></p>
+<p class="firstline">Removes a session. Clients that create sessions with long or infinite durations should call this method to clean up after themselves.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(body)</code>
+  <pre>Creates a new session. New sessions are initialized with two pre-defined items. Just like wax.sessions.newsession, but matches other implementations of Wax in Endpoints.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "sessionName": "A String", # Usually a short, human-readable name that describes a session. This name will appear as part of the session ID, which is generated by the API when the session is created.
+    "durationInMillis": "A String", # Session duration in milliseconds.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "newSessionId": "A String", # The session ID.
+    "kind": "wax#waxNewSession", # The kind of object this is.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="newSession">newSession(body, sessionName=None)</code>
+  <pre>Creates a new session. New sessions are initialized with two pre-defined items.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "newSessionParams": { # Parameters used when requesting a new session.
+      "kind": "wax#waxNewSessionParams", # The kind of object this is.
+      "durationInMillis": "A String", # Session duration in milliseconds.
+    },
+    "sessionName": "A String", # Usually a short, human-readable name that describes a session. This name will appear as part of the session ID, which is generated by the API when the session is created.
+  }
+
+  sessionName: string, Human-readable name that describes a session. This name will be part of the session ID.
+
+Returns:
+  An object of the form:
+
+    {
+    "newSessionId": "A String", # The session ID.
+    "kind": "wax#waxNewSession", # The kind of object this is.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="removeSession">removeSession(body, sessionId=None)</code>
+  <pre>Removes a session. Clients that create sessions with long or infinite durations should call this method to clean up after themselves.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "sessionId": "A String", # The ID corresponding to the session to be removed.
+  }
+
+  sessionId: string, The session ID.
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "wax#waxRemoveSession", # The kind of object this is.
+    "removedSessionId": "A String", # The ID corresponding to the session that was removed.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/webfonts_v1.html b/docs/dyn/webfonts_v1.html
index 791bdf6..2ae835b 100644
--- a/docs/dyn/webfonts_v1.html
+++ b/docs/dyn/webfonts_v1.html
@@ -72,7 +72,7 @@
 
 </style>
 
-<h1><a href="webfonts_v1.html">Google Web Fonts Developer API</a></h1>
+<h1><a href="webfonts_v1.html">Google Fonts Developer API</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
   <code><a href="webfonts_v1.webfonts.html">webfonts()</a></code>
diff --git a/docs/dyn/webfonts_v1.webfonts.html b/docs/dyn/webfonts_v1.webfonts.html
index 730ecec..a4abc9e 100644
--- a/docs/dyn/webfonts_v1.webfonts.html
+++ b/docs/dyn/webfonts_v1.webfonts.html
@@ -72,15 +72,15 @@
 
 </style>
 
-<h1><a href="webfonts_v1.html">Google Web Fonts Developer API</a> . <a href="webfonts_v1.webfonts.html">webfonts</a></h1>
+<h1><a href="webfonts_v1.html">Google Fonts Developer API</a> . <a href="webfonts_v1.webfonts.html">webfonts</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
   <code><a href="#list">list(sort=None)</a></code></p>
-<p class="firstline">Retrieves the list of fonts currently served by the Google Web Fonts Developer API</p>
+<p class="firstline">Retrieves the list of fonts currently served by the Google Fonts Developer API</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="list">list(sort=None)</code>
-  <pre>Retrieves the list of fonts currently served by the Google Web Fonts Developer API
+  <pre>Retrieves the list of fonts currently served by the Google Fonts Developer API
 
 Args:
   sort: string, Enables sorting of the list
@@ -97,10 +97,19 @@
     {
     "items": [ # The list of fonts currently served by the Google Fonts API.
       {
+        "files": { # The font files (with all supported scripts) for each one of the available variants, as a key : value map.
+          "a_key": "A String", # The font file URL (value) for an specific variant (key).
+        },
         "kind": "webfonts#webfont", # This kind represents a webfont object in the webfonts service.
-        "variants": "", # The available variants for the font.
-        "subsets": "", # The scripts supported by the font.
-        "family": "", # The name of the font.
+        "family": "A String", # The name of the font.
+        "subsets": [ # The scripts supported by the font.
+          "A String",
+        ],
+        "lastModified": "A String", # The date (format "yyyy-MM-dd") the font was modified for the last time.
+        "version": "A String", # The font version.
+        "variants": [ # The available variants for the font.
+          "A String",
+        ],
       },
     ],
     "kind": "webfonts#webfontList", # This kind represents a list of webfont objects in the webfonts service.
diff --git a/docs/dyn/youtube_v3.activities.html b/docs/dyn/youtube_v3.activities.html
index 4f7c0aa..d2744cb 100644
--- a/docs/dyn/youtube_v3.activities.html
+++ b/docs/dyn/youtube_v3.activities.html
@@ -78,7 +78,7 @@
   <code><a href="#insert">insert(part=None, body)</a></code></p>
 <p class="firstline">Posts a bulletin for a specific channel. (The user submitting the request must be authorized to act on the channel's behalf.)</p>
 <p class="toc_element">
-  <code><a href="#list">list(part=None, pageToken=None, publishedBefore=None, channelId=None, mine=None, maxResults=None, home=None, publishedAfter=None)</a></code></p>
+  <code><a href="#list">list(part=None, pageToken=None, publishedBefore=None, channelId=None, mine=None, maxResults=None, regionCode=None, home=None, publishedAfter=None)</a></code></p>
 <p class="firstline">Returns a list of channel activity events that match the request criteria. For example, you can retrieve events associated with a particular channel, events associated with the user's subscriptions and Google+ friends, or the YouTube home page feed, which is customized for each user.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -95,10 +95,30 @@
   body: object, The request body. (required)
     The object takes the form of:
 
-{ # An activity resource contains information about an action that a particular channel, or user, has taken on YouTube. The actions reported in activity feeds include rating a video, sharing a video, marking a video as a favorite, commenting on a video, uploading a video, and so forth. Each activity resource identifies the type of action, the channel associated with the action, and the resource(s) associated with the action, such as the video that was rated or uploaded.
+{ # An activity resource contains information about an action that a particular channel, or user, has taken on YouTube.The actions reported in activity feeds include rating a video, sharing a video, marking a video as a favorite, commenting on a video, uploading a video, and so forth. Each activity resource identifies the type of action, the channel associated with the action, and the resource(s) associated with the action, such as the video that was rated or uploaded.
     "snippet": { # Basic details about an activity, including title, description, thumbnails, activity type and group. # The snippet object contains basic details about the activity, including the activity's type and group ID.
-      "thumbnails": { # A map of thumbnail images associated with the resource that is primarily associated with the activity. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "a_key": { # A thumbnail is an image representing a YouTube resource. # Name of the thumbnail, to easily identify it. The set of names is dependent on the resource the thumbnail is for.
+      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the resource that is primarily associated with the activity. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
           "url": "A String", # The thumbnail image's URL.
           "width": 42, # (Optional) Width of the thumbnail image.
           "height": 42, # (Optional) Height of the thumbnail image.
@@ -113,17 +133,17 @@
       "description": "A String", # The description of the resource primarily associated with the activity.
     },
     "contentDetails": { # Details about the content of an activity: the video that was shared, the channel that was subscribed to, etc. # The contentDetails object contains information about the content associated with the activity. For example, if the snippet.type value is videoRated, then the contentDetails object's content identifies the rated video.
-      "comment": { # The comment object contains information about a resource that received a comment. This property is only present if the snippet.type is comment.
+      "comment": { # Information about a resource that received a comment. # The comment object contains information about a resource that received a comment. This property is only present if the snippet.type is comment.
         "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource associated with the comment.
-          "kind": "A String", # The kind, or type, of the referred resource.
+          "kind": "A String", # The type of the API resource.
           "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
           "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
           "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
         },
       },
-      "playlistItem": { # The playlistItem object contains information about a new playlist item. This property is only present if the snippet.type is playlistItem.
+      "playlistItem": { # Information about a new playlist item. # The playlistItem object contains information about a new playlist item. This property is only present if the snippet.type is playlistItem.
         "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information about the resource that was added to the playlist.
-          "kind": "A String", # The kind, or type, of the referred resource.
+          "kind": "A String", # The type of the API resource.
           "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
           "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
           "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
@@ -131,17 +151,26 @@
         "playlistId": "A String", # The value that YouTube uses to uniquely identify the playlist.
         "playlistItemId": "A String", # ID of the item within the playlist.
       },
-      "like": { # The like object contains information about a resource that received a positive (like) rating. This property is only present if the snippet.type is like.
+      "like": { # Information about a resource that received a positive (like) rating. # The like object contains information about a resource that received a positive (like) rating. This property is only present if the snippet.type is like.
         "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the rated resource.
-          "kind": "A String", # The kind, or type, of the referred resource.
+          "kind": "A String", # The type of the API resource.
           "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
           "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
           "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
         },
       },
-      "social": { # The social object contains details about a social network post. This property is only present if the snippet.type is social.
+      "promotedItem": { # Details about a resource which is being promoted. # The promotedItem object contains details about a resource which is being promoted. This property is only present if the snippet.type is promotedItem.
+        "ctaType": "A String", # The type of call-to-action, a message to the user indicating action that can be taken.
+        "adTag": "A String", # The URL the client should fetch to request a promoted item.
+        "destinationUrl": "A String", # The URL the client should direct the user to, if the user chooses to visit the advertiser's website.
+        "creativeViewUrl": "A String", # The URL the client should ping to indicate that the user was shown this promoted item.
+        "videoId": "A String", # The ID that YouTube uses to uniquely identify the promoted video.
+        "descriptionText": "A String", # The text description to accompany the promoted item.
+        "clickTrackingUrl": "A String", # The URL the client should ping to indicate that the user clicked through on this promoted item.
+      },
+      "social": { # Details about a social network post. # The social object contains details about a social network post. This property is only present if the snippet.type is social.
         "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object encapsulates information that identifies the resource associated with a social network post.
-          "kind": "A String", # The kind, or type, of the referred resource.
+          "kind": "A String", # The type of the API resource.
           "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
           "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
           "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
@@ -151,59 +180,59 @@
         "referenceUrl": "A String", # The URL of the social network post.
         "author": "A String", # The author of the social network post.
       },
-      "favorite": { # The favorite object contains information about a video that was marked as a favorite video. This property is only present if the snippet.type is favorite.
+      "favorite": { # Information about a video that was marked as a favorite video. # The favorite object contains information about a video that was marked as a favorite video. This property is only present if the snippet.type is favorite.
         "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource that was marked as a favorite.
-          "kind": "A String", # The kind, or type, of the referred resource.
+          "kind": "A String", # The type of the API resource.
           "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
           "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
           "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
         },
       },
-      "upload": { # The upload object contains information about the uploaded video. This property is only present if the snippet.type is upload.
+      "upload": { # Information about the uploaded video. # The upload object contains information about the uploaded video. This property is only present if the snippet.type is upload.
         "videoId": "A String", # The ID that YouTube uses to uniquely identify the uploaded video.
       },
-      "recommendation": { # The recommendation object contains information about a recommended resource. This property is only present if the snippet.type is recommendation.
+      "recommendation": { # Information that identifies the recommended resource. # The recommendation object contains information about a recommended resource. This property is only present if the snippet.type is recommendation.
         "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the recommended resource.
-          "kind": "A String", # The kind, or type, of the referred resource.
+          "kind": "A String", # The type of the API resource.
           "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
           "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
           "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
         },
         "reason": "A String", # The reason that the resource is recommended to the user.
         "seedResourceId": { # A resource id is a generic reference that points to another YouTube resource. # The seedResourceId object contains information about the resource that caused the recommendation.
-          "kind": "A String", # The kind, or type, of the referred resource.
+          "kind": "A String", # The type of the API resource.
           "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
           "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
           "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
         },
       },
-      "subscription": { # The subscription object contains information about a channel that a user subscribed to. This property is only present if the snippet.type is subscription.
+      "subscription": { # Information about a channel that a user subscribed to. # The subscription object contains information about a channel that a user subscribed to. This property is only present if the snippet.type is subscription.
         "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource that the user subscribed to.
-          "kind": "A String", # The kind, or type, of the referred resource.
+          "kind": "A String", # The type of the API resource.
           "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
           "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
           "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
         },
       },
-      "bulletin": { # The bulletin object contains details about a channel bulletin post. This object is only present if the snippet.type is bulletin.
+      "bulletin": { # Details about a channel bulletin post. # The bulletin object contains details about a channel bulletin post. This object is only present if the snippet.type is bulletin.
         "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource associated with a bulletin post.
-          "kind": "A String", # The kind, or type, of the referred resource.
+          "kind": "A String", # The type of the API resource.
           "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
           "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
           "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
         },
       },
-      "channelItem": { # The channelItem object contains details about a resource which was added to a channel. This property is only present if the snippet.type is channelItem.
+      "channelItem": { # Details about a resource which was added to a channel. # The channelItem object contains details about a resource which was added to a channel. This property is only present if the snippet.type is channelItem.
         "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource that was added to the channel.
-          "kind": "A String", # The kind, or type, of the referred resource.
+          "kind": "A String", # The type of the API resource.
           "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
           "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
           "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
         },
       },
     },
-    "kind": "youtube#activity", # The type of the API resource. For activity resources, the value will be youtube#activity.
-    "etag": "A String", # The ETag of the activity resource.
+    "kind": "youtube#activity", # The kind, fixed to "youtube#activity".
+    "etag": "A String", # Etag of this resource.
     "id": "A String", # The ID that YouTube uses to uniquely identify the activity.
   }
 
@@ -211,10 +240,30 @@
 Returns:
   An object of the form:
 
-    { # An activity resource contains information about an action that a particular channel, or user, has taken on YouTube. The actions reported in activity feeds include rating a video, sharing a video, marking a video as a favorite, commenting on a video, uploading a video, and so forth. Each activity resource identifies the type of action, the channel associated with the action, and the resource(s) associated with the action, such as the video that was rated or uploaded.
+    { # An activity resource contains information about an action that a particular channel, or user, has taken on YouTube.The actions reported in activity feeds include rating a video, sharing a video, marking a video as a favorite, commenting on a video, uploading a video, and so forth. Each activity resource identifies the type of action, the channel associated with the action, and the resource(s) associated with the action, such as the video that was rated or uploaded.
       "snippet": { # Basic details about an activity, including title, description, thumbnails, activity type and group. # The snippet object contains basic details about the activity, including the activity's type and group ID.
-        "thumbnails": { # A map of thumbnail images associated with the resource that is primarily associated with the activity. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-          "a_key": { # A thumbnail is an image representing a YouTube resource. # Name of the thumbnail, to easily identify it. The set of names is dependent on the resource the thumbnail is for.
+        "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the resource that is primarily associated with the activity. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+          "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
             "url": "A String", # The thumbnail image's URL.
             "width": 42, # (Optional) Width of the thumbnail image.
             "height": 42, # (Optional) Height of the thumbnail image.
@@ -229,17 +278,17 @@
         "description": "A String", # The description of the resource primarily associated with the activity.
       },
       "contentDetails": { # Details about the content of an activity: the video that was shared, the channel that was subscribed to, etc. # The contentDetails object contains information about the content associated with the activity. For example, if the snippet.type value is videoRated, then the contentDetails object's content identifies the rated video.
-        "comment": { # The comment object contains information about a resource that received a comment. This property is only present if the snippet.type is comment.
+        "comment": { # Information about a resource that received a comment. # The comment object contains information about a resource that received a comment. This property is only present if the snippet.type is comment.
           "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource associated with the comment.
-            "kind": "A String", # The kind, or type, of the referred resource.
+            "kind": "A String", # The type of the API resource.
             "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
             "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
             "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
           },
         },
-        "playlistItem": { # The playlistItem object contains information about a new playlist item. This property is only present if the snippet.type is playlistItem.
+        "playlistItem": { # Information about a new playlist item. # The playlistItem object contains information about a new playlist item. This property is only present if the snippet.type is playlistItem.
           "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information about the resource that was added to the playlist.
-            "kind": "A String", # The kind, or type, of the referred resource.
+            "kind": "A String", # The type of the API resource.
             "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
             "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
             "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
@@ -247,17 +296,26 @@
           "playlistId": "A String", # The value that YouTube uses to uniquely identify the playlist.
           "playlistItemId": "A String", # ID of the item within the playlist.
         },
-        "like": { # The like object contains information about a resource that received a positive (like) rating. This property is only present if the snippet.type is like.
+        "like": { # Information about a resource that received a positive (like) rating. # The like object contains information about a resource that received a positive (like) rating. This property is only present if the snippet.type is like.
           "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the rated resource.
-            "kind": "A String", # The kind, or type, of the referred resource.
+            "kind": "A String", # The type of the API resource.
             "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
             "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
             "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
           },
         },
-        "social": { # The social object contains details about a social network post. This property is only present if the snippet.type is social.
+        "promotedItem": { # Details about a resource which is being promoted. # The promotedItem object contains details about a resource which is being promoted. This property is only present if the snippet.type is promotedItem.
+          "ctaType": "A String", # The type of call-to-action, a message to the user indicating action that can be taken.
+          "adTag": "A String", # The URL the client should fetch to request a promoted item.
+          "destinationUrl": "A String", # The URL the client should direct the user to, if the user chooses to visit the advertiser's website.
+          "creativeViewUrl": "A String", # The URL the client should ping to indicate that the user was shown this promoted item.
+          "videoId": "A String", # The ID that YouTube uses to uniquely identify the promoted video.
+          "descriptionText": "A String", # The text description to accompany the promoted item.
+          "clickTrackingUrl": "A String", # The URL the client should ping to indicate that the user clicked through on this promoted item.
+        },
+        "social": { # Details about a social network post. # The social object contains details about a social network post. This property is only present if the snippet.type is social.
           "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object encapsulates information that identifies the resource associated with a social network post.
-            "kind": "A String", # The kind, or type, of the referred resource.
+            "kind": "A String", # The type of the API resource.
             "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
             "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
             "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
@@ -267,65 +325,65 @@
           "referenceUrl": "A String", # The URL of the social network post.
           "author": "A String", # The author of the social network post.
         },
-        "favorite": { # The favorite object contains information about a video that was marked as a favorite video. This property is only present if the snippet.type is favorite.
+        "favorite": { # Information about a video that was marked as a favorite video. # The favorite object contains information about a video that was marked as a favorite video. This property is only present if the snippet.type is favorite.
           "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource that was marked as a favorite.
-            "kind": "A String", # The kind, or type, of the referred resource.
+            "kind": "A String", # The type of the API resource.
             "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
             "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
             "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
           },
         },
-        "upload": { # The upload object contains information about the uploaded video. This property is only present if the snippet.type is upload.
+        "upload": { # Information about the uploaded video. # The upload object contains information about the uploaded video. This property is only present if the snippet.type is upload.
           "videoId": "A String", # The ID that YouTube uses to uniquely identify the uploaded video.
         },
-        "recommendation": { # The recommendation object contains information about a recommended resource. This property is only present if the snippet.type is recommendation.
+        "recommendation": { # Information that identifies the recommended resource. # The recommendation object contains information about a recommended resource. This property is only present if the snippet.type is recommendation.
           "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the recommended resource.
-            "kind": "A String", # The kind, or type, of the referred resource.
+            "kind": "A String", # The type of the API resource.
             "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
             "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
             "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
           },
           "reason": "A String", # The reason that the resource is recommended to the user.
           "seedResourceId": { # A resource id is a generic reference that points to another YouTube resource. # The seedResourceId object contains information about the resource that caused the recommendation.
-            "kind": "A String", # The kind, or type, of the referred resource.
+            "kind": "A String", # The type of the API resource.
             "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
             "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
             "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
           },
         },
-        "subscription": { # The subscription object contains information about a channel that a user subscribed to. This property is only present if the snippet.type is subscription.
+        "subscription": { # Information about a channel that a user subscribed to. # The subscription object contains information about a channel that a user subscribed to. This property is only present if the snippet.type is subscription.
           "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource that the user subscribed to.
-            "kind": "A String", # The kind, or type, of the referred resource.
+            "kind": "A String", # The type of the API resource.
             "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
             "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
             "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
           },
         },
-        "bulletin": { # The bulletin object contains details about a channel bulletin post. This object is only present if the snippet.type is bulletin.
+        "bulletin": { # Details about a channel bulletin post. # The bulletin object contains details about a channel bulletin post. This object is only present if the snippet.type is bulletin.
           "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource associated with a bulletin post.
-            "kind": "A String", # The kind, or type, of the referred resource.
+            "kind": "A String", # The type of the API resource.
             "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
             "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
             "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
           },
         },
-        "channelItem": { # The channelItem object contains details about a resource which was added to a channel. This property is only present if the snippet.type is channelItem.
+        "channelItem": { # Details about a resource which was added to a channel. # The channelItem object contains details about a resource which was added to a channel. This property is only present if the snippet.type is channelItem.
           "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource that was added to the channel.
-            "kind": "A String", # The kind, or type, of the referred resource.
+            "kind": "A String", # The type of the API resource.
             "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
             "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
             "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
           },
         },
       },
-      "kind": "youtube#activity", # The type of the API resource. For activity resources, the value will be youtube#activity.
-      "etag": "A String", # The ETag of the activity resource.
+      "kind": "youtube#activity", # The kind, fixed to "youtube#activity".
+      "etag": "A String", # Etag of this resource.
       "id": "A String", # The ID that YouTube uses to uniquely identify the activity.
     }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(part=None, pageToken=None, publishedBefore=None, channelId=None, mine=None, maxResults=None, home=None, publishedAfter=None)</code>
+    <code class="details" id="list">list(part=None, pageToken=None, publishedBefore=None, channelId=None, mine=None, maxResults=None, regionCode=None, home=None, publishedAfter=None)</code>
   <pre>Returns a list of channel activity events that match the request criteria. For example, you can retrieve events associated with a particular channel, events associated with the user's subscriptions and Google+ friends, or the YouTube home page feed, which is customized for each user.
 
 Args:
@@ -337,20 +395,43 @@
   channelId: string, The channelId parameter specifies a unique YouTube channel ID. The API will then return a list of that channel's activities.
   mine: boolean, Set this parameter's value to true to retrieve a feed of the authenticated user's activities.
   maxResults: integer, USE_DESCRIPTION --- channels:list:maxResults
-  home: string, Set this parameter's value to true to retrieve the activity feed that displays on the YouTube home page for the currently authenticated user.
+  regionCode: string, The regionCode parameter instructs the API to return results for the specified country. The parameter value is an ISO 3166-1 alpha-2 country code.
+  home: boolean, Set this parameter's value to true to retrieve the activity feed that displays on the YouTube home page for the currently authenticated user.
   publishedAfter: string, The publishedAfter parameter specifies the earliest date and time that an activity could have occurred for that activity to be included in the API response. If the parameter value specifies a day, but not a time, then any activities that occurred that day will be included in the result set. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
 
 Returns:
   An object of the form:
 
     { # A paginated list of activities returned as a response to youtube.activities.list calls.
+    "eventId": "A String", # Serialized EventId of the request which produced this response.
     "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.
     "kind": "youtube#activityListResponse", # The type of the API response. For this operation, the value will be youtube#activityListResponse.
+    "visitorId": "A String", # The visitorId identifies the visitor.
     "items": [ # A list of activities, or events, that match the request criteria.
-      { # An activity resource contains information about an action that a particular channel, or user, has taken on YouTube. The actions reported in activity feeds include rating a video, sharing a video, marking a video as a favorite, commenting on a video, uploading a video, and so forth. Each activity resource identifies the type of action, the channel associated with the action, and the resource(s) associated with the action, such as the video that was rated or uploaded.
+      { # An activity resource contains information about an action that a particular channel, or user, has taken on YouTube.The actions reported in activity feeds include rating a video, sharing a video, marking a video as a favorite, commenting on a video, uploading a video, and so forth. Each activity resource identifies the type of action, the channel associated with the action, and the resource(s) associated with the action, such as the video that was rated or uploaded.
           "snippet": { # Basic details about an activity, including title, description, thumbnails, activity type and group. # The snippet object contains basic details about the activity, including the activity's type and group ID.
-            "thumbnails": { # A map of thumbnail images associated with the resource that is primarily associated with the activity. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-              "a_key": { # A thumbnail is an image representing a YouTube resource. # Name of the thumbnail, to easily identify it. The set of names is dependent on the resource the thumbnail is for.
+            "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the resource that is primarily associated with the activity. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+              "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
                 "url": "A String", # The thumbnail image's URL.
                 "width": 42, # (Optional) Width of the thumbnail image.
                 "height": 42, # (Optional) Height of the thumbnail image.
@@ -365,17 +446,17 @@
             "description": "A String", # The description of the resource primarily associated with the activity.
           },
           "contentDetails": { # Details about the content of an activity: the video that was shared, the channel that was subscribed to, etc. # The contentDetails object contains information about the content associated with the activity. For example, if the snippet.type value is videoRated, then the contentDetails object's content identifies the rated video.
-            "comment": { # The comment object contains information about a resource that received a comment. This property is only present if the snippet.type is comment.
+            "comment": { # Information about a resource that received a comment. # The comment object contains information about a resource that received a comment. This property is only present if the snippet.type is comment.
               "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource associated with the comment.
-                "kind": "A String", # The kind, or type, of the referred resource.
+                "kind": "A String", # The type of the API resource.
                 "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
                 "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
                 "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
               },
             },
-            "playlistItem": { # The playlistItem object contains information about a new playlist item. This property is only present if the snippet.type is playlistItem.
+            "playlistItem": { # Information about a new playlist item. # The playlistItem object contains information about a new playlist item. This property is only present if the snippet.type is playlistItem.
               "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information about the resource that was added to the playlist.
-                "kind": "A String", # The kind, or type, of the referred resource.
+                "kind": "A String", # The type of the API resource.
                 "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
                 "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
                 "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
@@ -383,17 +464,26 @@
               "playlistId": "A String", # The value that YouTube uses to uniquely identify the playlist.
               "playlistItemId": "A String", # ID of the item within the playlist.
             },
-            "like": { # The like object contains information about a resource that received a positive (like) rating. This property is only present if the snippet.type is like.
+            "like": { # Information about a resource that received a positive (like) rating. # The like object contains information about a resource that received a positive (like) rating. This property is only present if the snippet.type is like.
               "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the rated resource.
-                "kind": "A String", # The kind, or type, of the referred resource.
+                "kind": "A String", # The type of the API resource.
                 "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
                 "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
                 "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
               },
             },
-            "social": { # The social object contains details about a social network post. This property is only present if the snippet.type is social.
+            "promotedItem": { # Details about a resource which is being promoted. # The promotedItem object contains details about a resource which is being promoted. This property is only present if the snippet.type is promotedItem.
+              "ctaType": "A String", # The type of call-to-action, a message to the user indicating action that can be taken.
+              "adTag": "A String", # The URL the client should fetch to request a promoted item.
+              "destinationUrl": "A String", # The URL the client should direct the user to, if the user chooses to visit the advertiser's website.
+              "creativeViewUrl": "A String", # The URL the client should ping to indicate that the user was shown this promoted item.
+              "videoId": "A String", # The ID that YouTube uses to uniquely identify the promoted video.
+              "descriptionText": "A String", # The text description to accompany the promoted item.
+              "clickTrackingUrl": "A String", # The URL the client should ping to indicate that the user clicked through on this promoted item.
+            },
+            "social": { # Details about a social network post. # The social object contains details about a social network post. This property is only present if the snippet.type is social.
               "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object encapsulates information that identifies the resource associated with a social network post.
-                "kind": "A String", # The kind, or type, of the referred resource.
+                "kind": "A String", # The type of the API resource.
                 "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
                 "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
                 "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
@@ -403,59 +493,59 @@
               "referenceUrl": "A String", # The URL of the social network post.
               "author": "A String", # The author of the social network post.
             },
-            "favorite": { # The favorite object contains information about a video that was marked as a favorite video. This property is only present if the snippet.type is favorite.
+            "favorite": { # Information about a video that was marked as a favorite video. # The favorite object contains information about a video that was marked as a favorite video. This property is only present if the snippet.type is favorite.
               "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource that was marked as a favorite.
-                "kind": "A String", # The kind, or type, of the referred resource.
+                "kind": "A String", # The type of the API resource.
                 "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
                 "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
                 "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
               },
             },
-            "upload": { # The upload object contains information about the uploaded video. This property is only present if the snippet.type is upload.
+            "upload": { # Information about the uploaded video. # The upload object contains information about the uploaded video. This property is only present if the snippet.type is upload.
               "videoId": "A String", # The ID that YouTube uses to uniquely identify the uploaded video.
             },
-            "recommendation": { # The recommendation object contains information about a recommended resource. This property is only present if the snippet.type is recommendation.
+            "recommendation": { # Information that identifies the recommended resource. # The recommendation object contains information about a recommended resource. This property is only present if the snippet.type is recommendation.
               "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the recommended resource.
-                "kind": "A String", # The kind, or type, of the referred resource.
+                "kind": "A String", # The type of the API resource.
                 "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
                 "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
                 "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
               },
               "reason": "A String", # The reason that the resource is recommended to the user.
               "seedResourceId": { # A resource id is a generic reference that points to another YouTube resource. # The seedResourceId object contains information about the resource that caused the recommendation.
-                "kind": "A String", # The kind, or type, of the referred resource.
+                "kind": "A String", # The type of the API resource.
                 "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
                 "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
                 "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
               },
             },
-            "subscription": { # The subscription object contains information about a channel that a user subscribed to. This property is only present if the snippet.type is subscription.
+            "subscription": { # Information about a channel that a user subscribed to. # The subscription object contains information about a channel that a user subscribed to. This property is only present if the snippet.type is subscription.
               "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource that the user subscribed to.
-                "kind": "A String", # The kind, or type, of the referred resource.
+                "kind": "A String", # The type of the API resource.
                 "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
                 "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
                 "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
               },
             },
-            "bulletin": { # The bulletin object contains details about a channel bulletin post. This object is only present if the snippet.type is bulletin.
+            "bulletin": { # Details about a channel bulletin post. # The bulletin object contains details about a channel bulletin post. This object is only present if the snippet.type is bulletin.
               "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource associated with a bulletin post.
-                "kind": "A String", # The kind, or type, of the referred resource.
+                "kind": "A String", # The type of the API resource.
                 "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
                 "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
                 "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
               },
             },
-            "channelItem": { # The channelItem object contains details about a resource which was added to a channel. This property is only present if the snippet.type is channelItem.
+            "channelItem": { # Details about a resource which was added to a channel. # The channelItem object contains details about a resource which was added to a channel. This property is only present if the snippet.type is channelItem.
               "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The resourceId object contains information that identifies the resource that was added to the channel.
-                "kind": "A String", # The kind, or type, of the referred resource.
+                "kind": "A String", # The type of the API resource.
                 "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
                 "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
                 "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
               },
             },
           },
-          "kind": "youtube#activity", # The type of the API resource. For activity resources, the value will be youtube#activity.
-          "etag": "A String", # The ETag of the activity resource.
+          "kind": "youtube#activity", # The kind, fixed to "youtube#activity".
+          "etag": "A String", # Etag of this resource.
           "id": "A String", # The ID that YouTube uses to uniquely identify the activity.
         },
     ],
diff --git a/docs/dyn/youtube_v3.channelBanners.html b/docs/dyn/youtube_v3.channelBanners.html
new file mode 100644
index 0000000..b567a25
--- /dev/null
+++ b/docs/dyn/youtube_v3.channelBanners.html
@@ -0,0 +1,108 @@
+<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="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.channelBanners.html">channelBanners</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#insert">insert(body=None, media_body=None, onBehalfOfContentOwner=None)</a></code></p>
+<p class="firstline">Uploads a channel banner to YouTube.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="insert">insert(body=None, media_body=None, onBehalfOfContentOwner=None)</code>
+  <pre>Uploads a channel banner to YouTube.
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A channel banner returned as the response to a channel_banner.insert call.
+    "url": "A String", # The URL of this banner image.
+    "kind": "youtube#channelBannerResource", # The kind, fixed to "youtube#channelBannerResource".
+    "etag": "A String", # Etag of this resource.
+  }
+
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
+
+Returns:
+  An object of the form:
+
+    { # A channel banner returned as the response to a channel_banner.insert call.
+      "url": "A String", # The URL of this banner image.
+      "kind": "youtube#channelBannerResource", # The kind, fixed to "youtube#channelBannerResource".
+      "etag": "A String", # Etag of this resource.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.channels.html b/docs/dyn/youtube_v3.channels.html
index 5748601..56de365 100644
--- a/docs/dyn/youtube_v3.channels.html
+++ b/docs/dyn/youtube_v3.channels.html
@@ -75,137 +75,190 @@
 <h1><a href="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.channels.html">channels</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
-  <code><a href="#list">list(part=None, onBehalfOfContentOwner=None, pageToken=None, categoryId=None, maxResults=None, mine=None, mySubscribers=None, id=None)</a></code></p>
+  <code><a href="#list">list(part=None, managedByMe=None, onBehalfOfContentOwner=None, forUsername=None, pageToken=None, categoryId=None, maxResults=None, mine=None, mySubscribers=None, id=None)</a></code></p>
 <p class="firstline">Returns a collection of zero or more channel resources that match the request criteria.</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(part=None, body, onBehalfOfContentOwner=None)</a></code></p>
+<p class="firstline">Updates a channel's metadata.</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="list">list(part=None, onBehalfOfContentOwner=None, pageToken=None, categoryId=None, maxResults=None, mine=None, mySubscribers=None, id=None)</code>
+    <code class="details" id="list">list(part=None, managedByMe=None, onBehalfOfContentOwner=None, forUsername=None, pageToken=None, categoryId=None, maxResults=None, mine=None, mySubscribers=None, id=None)</code>
   <pre>Returns a collection of zero or more channel resources that match the request criteria.
 
 Args:
-  part: string, The part parameter specifies a comma-separated list of one or more channel resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, statistics, and topicDetails.
+  part: string, The part parameter specifies a comma-separated list of one or more channel resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, statistics, topicDetails, and invideoPromotion.
 
 If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a channel resource, the contentDetails property contains other properties, such as the uploads properties. As such, if you set part=contentDetails, the API response will also contain all of those nested properties. (required)
+  managedByMe: boolean, Set this parameter's value to true to instruct the API to only return channels managed by the content owner that the onBehalfOfContentOwner parameter specifies. The user must be authenticated as a CMS account linked to the specified content owner and onBehalfOfContentOwner must be provided.
   onBehalfOfContentOwner: string, The onBehalfOfContentOwner parameter indicates that the authenticated user is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. 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 actual CMS account that the user authenticates with needs to be linked to the specified YouTube content owner.
+  forUsername: string, The forUsername parameter specifies a YouTube username, thereby requesting the channel associated with that username.
   pageToken: string, The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
   categoryId: string, The categoryId parameter specifies a YouTube guide category, thereby requesting YouTube channels associated with that category.
   maxResults: integer, The maxResults parameter specifies the maximum number of items that should be returned in the result set.
   mine: boolean, Set this parameter's value to true to instruct the API to only return channels owned by the authenticated user.
-  mySubscribers: string, Set this parameter's value to true to retrieve a list of channels that subscribed to the authenticated user's channel.
+  mySubscribers: boolean, Set this parameter's value to true to retrieve a list of channels that subscribed to the authenticated user's channel.
   id: string, The id parameter specifies a comma-separated list of the YouTube channel ID(s) for the resource(s) that are being retrieved. In a channel resource, the id property specifies the channel's YouTube channel ID.
 
 Returns:
   An object of the form:
 
     { # A paginated list of channels returned as the response to a youtube.channels.list call.
+    "eventId": "A String", # Serialized EventId of the request which produced this response.
     "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.
     "kind": "youtube#channelListResponse", # The type of the API response. For this operation, the value will be youtube#channelListResponse.
+    "visitorId": "A String", # The visitorId identifies the visitor.
     "items": [ # A list of channels that match the request criteria.
       { # A channel resource contains information about a YouTube channel.
         "status": { # JSON template for the status part of a channel. # The status object encapsulates information about the privacy status of the channel.
           "privacyStatus": "A String", # Privacy status of the channel.
+          "isLinked": True or False, # If true, then the user is linked to either a YouTube username or G+ account. Otherwise, the user doesn't have a public YouTube identity.
         },
-        "topicDetails": { # Freebase topic information related to the channel. # The topicDetails object encapsulates information about Freebase topics associated with the channel.
-          "topicIds": [ # A list of Freebase topic IDs associated with the channel. You can retrieve information about each topic using the Freebase Topic API.
-            "A String",
+        "invideoPromotion": { # Describes an invideo promotion campaign consisting of multiple promoted items. A campaign belongs to a single channel_id. # The invideoPromotion object encapsulates information about promotion campaign associated with the channel.
+          "defaultTiming": { # Describes a temporal position of a visual widget inside a video. # The default temporal position within the video where the promoted item will be displayed. Can be overriden by more specific timing in the item.
+            "offsetMs": "A String", # Defines the time at which the promotion will appear. Depending on the value of type the value of the offsetMs field will represent a time offset from the start or from the end of the video, expressed in milliseconds.
+            "type": "A String", # Describes a timing type. If the value is offsetFromStart, then the offsetMs field represents an offset from the start of the video. If the value is offsetFromEnd, then the offsetMs field represents an offset from the end of the video.
+            "durationMs": "A String", # Defines the duration in milliseconds for which the promotion should be displayed. If missing, the client should use the default.
+          },
+          "items": [ # List of promoted items in decreasing priority.
+            { # Describes a single promoted item.
+              "timing": { # Describes a temporal position of a visual widget inside a video. # The temporal position within the video where the promoted item will be displayed. If present, it overrides the default timing.
+                "offsetMs": "A String", # Defines the time at which the promotion will appear. Depending on the value of type the value of the offsetMs field will represent a time offset from the start or from the end of the video, expressed in milliseconds.
+                "type": "A String", # Describes a timing type. If the value is offsetFromStart, then the offsetMs field represents an offset from the start of the video. If the value is offsetFromEnd, then the offsetMs field represents an offset from the end of the video.
+                "durationMs": "A String", # Defines the duration in milliseconds for which the promotion should be displayed. If missing, the client should use the default.
+              },
+              "customMessage": "A String", # A custom message to display for this promotion. This field is currently ignored unless the promoted item is a website.
+              "id": { # Describes a single promoted item id. It is a union of various possible types. # Identifies the promoted item.
+                "websiteUrl": "A String", # If the promoted item represents a website, this field represents the url pointing to the website. This field will be present only if type has the value website.
+                "type": "A String", # Describes the type of the promoted item.
+                "videoId": "A String", # If the promoted item represents a video, this field represents the unique YouTube ID identifying it. This field will be present only if type has the value video.
+              },
+            },
           ],
+          "position": { # Describes the spatial position of a visual widget inside a video. It is a union of various position types, out of which only will be set one. # The spatial position within the video where the promoted item will be displayed.
+            "cornerPosition": "A String", # Describes in which corner of the video the visual widget will appear.
+            "type": "A String", # Defines the position type.
+          },
         },
-        "kind": "youtube#channel", # The type of the API resource. For channel resources, the value will be youtube#channel.
+        "kind": "youtube#channel", # The kind, fixed to "youtube#channel".
         "statistics": { # Statistics about a channel: number of subscribers, number of videos in the channel, etc. # The statistics object encapsulates statistics for the channel.
           "commentCount": "A String", # The number of comments for the channel.
           "subscriberCount": "A String", # The number of subscribers that the channel has.
           "videoCount": "A String", # The number of videos uploaded to the channel.
           "viewCount": "A String", # The number of times the channel has been viewed.
         },
+        "topicDetails": { # Freebase topic information related to the channel. # The topicDetails object encapsulates information about Freebase topics associated with the channel.
+          "topicIds": [ # A list of Freebase topic IDs associated with the channel. You can retrieve information about each topic using the Freebase Topic API.
+            "A String",
+          ],
+        },
         "contentDetails": { # Details about the content of a channel. # The contentDetails object encapsulates information about the channel's content.
-          "relatedPlaylists": { # The relatedPlaylists object is a map that identifies playlists associated with the channel, such as the channel's uploaded videos or favorite videos. You can retrieve any of these playlists using the playlists.list method.
-            "watchLater": "A String", # The ID of the channel's watch later playlist. Use the playlistItems.insert and playlistItems.delete to add or remove items from that list.
-            "watchHistory": "A String", # The ID of the playlist that contains the channel's watch history. Use the playlistItems.insert and playlistItems.delete to add or remove items from that list.
-            "likes": "A String", # The ID of the playlist that contains the channel's liked videos. Use the playlistItems.insert and playlistItems.delete to add or remove items from that list.
-            "favorites": "A String", # The ID of the playlist that contains the channel's favorite videos. Use the playlistItems.insert and playlistItems.delete to add or remove items from that list.
-            "uploads": "A String", # The ID of the playlist that contains the channel's uploaded videos. Use the videos.insert method to upload new videos and the videos.delete method to delete previously uploaded videos.
+          "relatedPlaylists": {
+            "watchLater": "A String", # The ID of the playlist that contains the channel"s watch later playlist. Use the playlistItems.insert and  playlistItems.delete to add or remove items from that list.
+            "watchHistory": "A String", # The ID of the playlist that contains the channel"s watch history. Use the  playlistItems.insert and  playlistItems.delete to add or remove items from that list.
+            "likes": "A String", # The ID of the playlist that contains the channel"s liked videos. Use the   playlistItems.insert and  playlistItems.delete to add or remove items from that list.
+            "favorites": "A String", # The ID of the playlist that contains the channel"s favorite videos. Use the  playlistItems.insert and  playlistItems.delete to add or remove items from that list.
+            "uploads": "A String", # The ID of the playlist that contains the channel"s uploaded videos. Use the  videos.insert method to upload new videos and the videos.delete method to delete previously uploaded videos.
           },
           "googlePlusUserId": "A String", # The googlePlusUserId object identifies the Google+ profile ID associated with this channel.
         },
         "brandingSettings": { # Branding properties of a YouTube channel. # The brandingSettings object encapsulates information about the branding of the channel.
-          "image": {
-            "largeBrandedBannerImageUrl": { # Represent a property available in different languages.
-              "default": "A String",
-              "localizeds": [
+          "image": { # Branding properties for images associated with the channel. # Branding properties for branding images.
+            "largeBrandedBannerImageUrl": { # Represent a property available in different languages. # The URL for the 854px by 70px image that appears below the video player in the expanded video view of the video watch page.
+              "default": "A String", # Default value for the localized property.
+              "localized": [ # The localized values.
                 { # A localized string.
-                  "value": "A String",
-                  "language": "A String",
+                  "value": "A String", # Value of the property.
+                  "language": "A String", # Language associated to this value.
                 },
               ],
             },
-            "bannerImageUrl": "A String",
-            "backgroundImageUrl": { # Represent a property available in different languages.
-              "default": "A String",
-              "localizeds": [
+            "bannerImageUrl": "A String", # Banner image. Desktop size (1060x175).
+            "backgroundImageUrl": { # Represent a property available in different languages. # The URL for the background image shown on the video watch page. The image should be 1200px by 615px, with a maximum file size of 128k.
+              "default": "A String", # Default value for the localized property.
+              "localized": [ # The localized values.
                 { # A localized string.
-                  "value": "A String",
-                  "language": "A String",
+                  "value": "A String", # Value of the property.
+                  "language": "A String", # Language associated to this value.
                 },
               ],
             },
-            "largeBrandedBannerImageImapScript": { # Represent a property available in different languages.
-              "default": "A String",
-              "localizeds": [
+            "largeBrandedBannerImageImapScript": { # Represent a property available in different languages. # The image map script for the large banner image.
+              "default": "A String", # Default value for the localized property.
+              "localized": [ # The localized values.
                 { # A localized string.
-                  "value": "A String",
-                  "language": "A String",
+                  "value": "A String", # Value of the property.
+                  "language": "A String", # Language associated to this value.
                 },
               ],
             },
-            "bannerMobileImageUrl": "A String",
-            "smallBrandedBannerImageUrl": { # Represent a property available in different languages.
-              "default": "A String",
-              "localizeds": [
+            "bannerMobileImageUrl": "A String", # Banner image. Mobile size (640x175).
+            "smallBrandedBannerImageImapScript": { # Represent a property available in different languages. # The image map script for the small banner image.
+              "default": "A String", # Default value for the localized property.
+              "localized": [ # The localized values.
                 { # A localized string.
-                  "value": "A String",
-                  "language": "A String",
+                  "value": "A String", # Value of the property.
+                  "language": "A String", # Language associated to this value.
                 },
               ],
             },
-            "smallBrandedBannerImageImapScript": { # Represent a property available in different languages.
-              "default": "A String",
-              "localizeds": [
+            "smallBrandedBannerImageUrl": { # Represent a property available in different languages. # The URL for the 640px by 70px banner image that appears below the video player in the default view of the video watch page.
+              "default": "A String", # Default value for the localized property.
+              "localized": [ # The localized values.
                 { # A localized string.
-                  "value": "A String",
-                  "language": "A String",
+                  "value": "A String", # Value of the property.
+                  "language": "A String", # Language associated to this value.
                 },
               ],
             },
-            "trackingImageUrl": "A String",
-            "watchIconImageUrl": "A String",
+            "bannerTabletHdImageUrl": "A String", # Banner image. Tablet size high resolution (2276x377).
+            "bannerTabletLowImageUrl": "A String", # Banner image. Tablet size low resolution (1138x188).
+            "trackingImageUrl": "A String", # The URL for a 1px by 1px tracking pixel that can be used to collect statistics for views of the channel or video pages.
+            "bannerMobileMediumHdImageUrl": "A String", # Banner image. Mobile size medium/high resolution (960x263).
+            "bannerMobileHdImageUrl": "A String", # Banner image. Mobile size high resolution (1280x360).
+            "bannerExternalUrl": "A String", # This is used only in update requests; if it's set, we use this URL to generate all of the above banner URLs.
+            "bannerTabletImageUrl": "A String", # Banner image. Tablet size (1707x283).
+            "bannerMobileExtraHdImageUrl": "A String", # Banner image. Mobile size high resolution (1440x395).
+            "bannerMobileLowImageUrl": "A String", # Banner image. Mobile size low resolution (320x88).
+            "watchIconImageUrl": "A String", # The URL for the image that appears above the top-left corner of the video player. This is a 25-pixel-high image with a flexible width that cannot exceed 170 pixels.
+            "bannerTvImageUrl": "A String", # Banner image. TV size (2120x1192).
+            "bannerTabletExtraHdImageUrl": "A String", # Banner image. Tablet size extra high resolution (2560x424).
           },
-          "watch": { # Branding properties for the watch.
-            "textColor": "A String",
-            "featuredPlaylistId": "A String",
-            "backgroundColor": "A String",
+          "watch": { # Branding properties for the watch. # Branding properties for the watch page.
+            "textColor": "A String", # The background color for the video watch page's branded area.
+            "featuredPlaylistId": "A String", # An ID that uniquely identifies a playlist that displays next to the video player.
+            "backgroundColor": "A String", # The text color for the video watch page's branded area.
           },
-          "channel": { # Branding properties for the channel view.
-            "description": "A String",
-            "title": "A String",
-            "moderateComments": True or False,
-            "showBrowseView": True or False,
-            "featuredChannelsTitle": "A String",
-            "unsubscribedTrailer": "A String",
-            "keywords": "A String",
-            "defaultTab": "A String",
-            "featuredChannelsUrls": [
+          "channel": { # Branding properties for the channel view. # Branding properties for the channel view.
+            "description": "A String", # Specifies the channel description.
+            "title": "A String", # Specifies the channel title.
+            "moderateComments": True or False, # Whether user-submitted comments left on the channel page need to be approved by the channel owner to be publicly visible.
+            "showBrowseView": True or False, # Whether the tab to browse the videos should be displayed.
+            "featuredChannelsTitle": "A String", # Title for the featured channels tab.
+            "unsubscribedTrailer": "A String", # The trailer of the channel, for users that are not subscribers.
+            "keywords": "A String", # Lists keywords associated with the channel, comma-separated.
+            "profileColor": "A String", # A prominent color that can be rendered on this channel page.
+            "defaultTab": "A String", # Which content tab users should see when viewing the channel.
+            "featuredChannelsUrls": [ # The list of featured channels.
               "A String",
             ],
-            "trackingAnalyticsAccountId": "A String",
-            "showRelatedChannels": True or False,
+            "trackingAnalyticsAccountId": "A String", # The ID for a Google Analytics account to track and measure traffic to the channels.
+            "showRelatedChannels": True or False, # Whether related channels should be proposed.
           },
-          "hints": [
-            { # A key value for the experimental branding properties.
-              "property": "A String",
-              "value": "A String",
+          "hints": [ # Additional experimental branding properties.
+            { # A pair Property / Value.
+              "property": "A String", # A property.
+              "value": "A String", # The property's value.
+            },
+          ],
+        },
+        "conversionPings": { # The conversionPings object encapsulates information about conversion pings that need to be respected by the channel. # The conversionPings object encapsulates information about conversion pings that need to be respected by the channel.
+          "pings": [ # Pings that the app shall fire (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
+            { # Pings that the app shall fire (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
+              "conversionUrl": "A String", # The url (without the schema) that the player shall send the ping to. It's at caller's descretion to decide which schema to use (http vs https) Example of a returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D cview%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA&labe=default The caller must append biscotti authentication (ms param in case of mobile, for example) to this ping.
+              "context": "A String", # Defines the context of the ping.
             },
           ],
         },
@@ -213,15 +266,35 @@
           "title": "A String", # The channel's title.
           "description": "A String", # The description of the channel.
           "publishedAt": "A String", # The date and time that the channel was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-          "thumbnails": { # A map of thumbnail images associated with the channel. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-            "a_key": { # A thumbnail is an image representing a YouTube resource. # Name of the thumbnail, to easily identify it. The set of names is dependent on the resource the thumbnail is for.
+          "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the channel. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+            "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+              "url": "A String", # The thumbnail image's URL.
+              "width": 42, # (Optional) Width of the thumbnail image.
+              "height": 42, # (Optional) Height of the thumbnail image.
+            },
+            "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+              "url": "A String", # The thumbnail image's URL.
+              "width": 42, # (Optional) Width of the thumbnail image.
+              "height": 42, # (Optional) Height of the thumbnail image.
+            },
+            "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+              "url": "A String", # The thumbnail image's URL.
+              "width": 42, # (Optional) Width of the thumbnail image.
+              "height": 42, # (Optional) Height of the thumbnail image.
+            },
+            "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+              "url": "A String", # The thumbnail image's URL.
+              "width": 42, # (Optional) Width of the thumbnail image.
+              "height": 42, # (Optional) Height of the thumbnail image.
+            },
+            "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
               "url": "A String", # The thumbnail image's URL.
               "width": 42, # (Optional) Width of the thumbnail image.
               "height": 42, # (Optional) Height of the thumbnail image.
             },
           },
         },
-        "etag": "A String", # The ETag for the channel resource.
+        "etag": "A String", # Etag of this resource.
         "id": "A String", # The ID that YouTube uses to uniquely identify the channel.
       },
     ],
@@ -248,4 +321,397 @@
     </pre>
 </div>
 
+<div class="method">
+    <code class="details" id="update">update(part=None, body, onBehalfOfContentOwner=None)</code>
+  <pre>Updates a channel's metadata.
+
+Args:
+  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
+
+The part names that you can include in the parameter value are id and invideoPromotion.
+
+Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A channel resource contains information about a YouTube channel.
+  "status": { # JSON template for the status part of a channel. # The status object encapsulates information about the privacy status of the channel.
+    "privacyStatus": "A String", # Privacy status of the channel.
+    "isLinked": True or False, # If true, then the user is linked to either a YouTube username or G+ account. Otherwise, the user doesn't have a public YouTube identity.
+  },
+  "invideoPromotion": { # Describes an invideo promotion campaign consisting of multiple promoted items. A campaign belongs to a single channel_id. # The invideoPromotion object encapsulates information about promotion campaign associated with the channel.
+    "defaultTiming": { # Describes a temporal position of a visual widget inside a video. # The default temporal position within the video where the promoted item will be displayed. Can be overriden by more specific timing in the item.
+      "offsetMs": "A String", # Defines the time at which the promotion will appear. Depending on the value of type the value of the offsetMs field will represent a time offset from the start or from the end of the video, expressed in milliseconds.
+      "type": "A String", # Describes a timing type. If the value is offsetFromStart, then the offsetMs field represents an offset from the start of the video. If the value is offsetFromEnd, then the offsetMs field represents an offset from the end of the video.
+      "durationMs": "A String", # Defines the duration in milliseconds for which the promotion should be displayed. If missing, the client should use the default.
+    },
+    "items": [ # List of promoted items in decreasing priority.
+      { # Describes a single promoted item.
+        "timing": { # Describes a temporal position of a visual widget inside a video. # The temporal position within the video where the promoted item will be displayed. If present, it overrides the default timing.
+          "offsetMs": "A String", # Defines the time at which the promotion will appear. Depending on the value of type the value of the offsetMs field will represent a time offset from the start or from the end of the video, expressed in milliseconds.
+          "type": "A String", # Describes a timing type. If the value is offsetFromStart, then the offsetMs field represents an offset from the start of the video. If the value is offsetFromEnd, then the offsetMs field represents an offset from the end of the video.
+          "durationMs": "A String", # Defines the duration in milliseconds for which the promotion should be displayed. If missing, the client should use the default.
+        },
+        "customMessage": "A String", # A custom message to display for this promotion. This field is currently ignored unless the promoted item is a website.
+        "id": { # Describes a single promoted item id. It is a union of various possible types. # Identifies the promoted item.
+          "websiteUrl": "A String", # If the promoted item represents a website, this field represents the url pointing to the website. This field will be present only if type has the value website.
+          "type": "A String", # Describes the type of the promoted item.
+          "videoId": "A String", # If the promoted item represents a video, this field represents the unique YouTube ID identifying it. This field will be present only if type has the value video.
+        },
+      },
+    ],
+    "position": { # Describes the spatial position of a visual widget inside a video. It is a union of various position types, out of which only will be set one. # The spatial position within the video where the promoted item will be displayed.
+      "cornerPosition": "A String", # Describes in which corner of the video the visual widget will appear.
+      "type": "A String", # Defines the position type.
+    },
+  },
+  "kind": "youtube#channel", # The kind, fixed to "youtube#channel".
+  "statistics": { # Statistics about a channel: number of subscribers, number of videos in the channel, etc. # The statistics object encapsulates statistics for the channel.
+    "commentCount": "A String", # The number of comments for the channel.
+    "subscriberCount": "A String", # The number of subscribers that the channel has.
+    "videoCount": "A String", # The number of videos uploaded to the channel.
+    "viewCount": "A String", # The number of times the channel has been viewed.
+  },
+  "topicDetails": { # Freebase topic information related to the channel. # The topicDetails object encapsulates information about Freebase topics associated with the channel.
+    "topicIds": [ # A list of Freebase topic IDs associated with the channel. You can retrieve information about each topic using the Freebase Topic API.
+      "A String",
+    ],
+  },
+  "contentDetails": { # Details about the content of a channel. # The contentDetails object encapsulates information about the channel's content.
+    "relatedPlaylists": {
+      "watchLater": "A String", # The ID of the playlist that contains the channel"s watch later playlist. Use the playlistItems.insert and  playlistItems.delete to add or remove items from that list.
+      "watchHistory": "A String", # The ID of the playlist that contains the channel"s watch history. Use the  playlistItems.insert and  playlistItems.delete to add or remove items from that list.
+      "likes": "A String", # The ID of the playlist that contains the channel"s liked videos. Use the   playlistItems.insert and  playlistItems.delete to add or remove items from that list.
+      "favorites": "A String", # The ID of the playlist that contains the channel"s favorite videos. Use the  playlistItems.insert and  playlistItems.delete to add or remove items from that list.
+      "uploads": "A String", # The ID of the playlist that contains the channel"s uploaded videos. Use the  videos.insert method to upload new videos and the videos.delete method to delete previously uploaded videos.
+    },
+    "googlePlusUserId": "A String", # The googlePlusUserId object identifies the Google+ profile ID associated with this channel.
+  },
+  "brandingSettings": { # Branding properties of a YouTube channel. # The brandingSettings object encapsulates information about the branding of the channel.
+    "image": { # Branding properties for images associated with the channel. # Branding properties for branding images.
+      "largeBrandedBannerImageUrl": { # Represent a property available in different languages. # The URL for the 854px by 70px image that appears below the video player in the expanded video view of the video watch page.
+        "default": "A String", # Default value for the localized property.
+        "localized": [ # The localized values.
+          { # A localized string.
+            "value": "A String", # Value of the property.
+            "language": "A String", # Language associated to this value.
+          },
+        ],
+      },
+      "bannerImageUrl": "A String", # Banner image. Desktop size (1060x175).
+      "backgroundImageUrl": { # Represent a property available in different languages. # The URL for the background image shown on the video watch page. The image should be 1200px by 615px, with a maximum file size of 128k.
+        "default": "A String", # Default value for the localized property.
+        "localized": [ # The localized values.
+          { # A localized string.
+            "value": "A String", # Value of the property.
+            "language": "A String", # Language associated to this value.
+          },
+        ],
+      },
+      "largeBrandedBannerImageImapScript": { # Represent a property available in different languages. # The image map script for the large banner image.
+        "default": "A String", # Default value for the localized property.
+        "localized": [ # The localized values.
+          { # A localized string.
+            "value": "A String", # Value of the property.
+            "language": "A String", # Language associated to this value.
+          },
+        ],
+      },
+      "bannerMobileImageUrl": "A String", # Banner image. Mobile size (640x175).
+      "smallBrandedBannerImageImapScript": { # Represent a property available in different languages. # The image map script for the small banner image.
+        "default": "A String", # Default value for the localized property.
+        "localized": [ # The localized values.
+          { # A localized string.
+            "value": "A String", # Value of the property.
+            "language": "A String", # Language associated to this value.
+          },
+        ],
+      },
+      "smallBrandedBannerImageUrl": { # Represent a property available in different languages. # The URL for the 640px by 70px banner image that appears below the video player in the default view of the video watch page.
+        "default": "A String", # Default value for the localized property.
+        "localized": [ # The localized values.
+          { # A localized string.
+            "value": "A String", # Value of the property.
+            "language": "A String", # Language associated to this value.
+          },
+        ],
+      },
+      "bannerTabletHdImageUrl": "A String", # Banner image. Tablet size high resolution (2276x377).
+      "bannerTabletLowImageUrl": "A String", # Banner image. Tablet size low resolution (1138x188).
+      "trackingImageUrl": "A String", # The URL for a 1px by 1px tracking pixel that can be used to collect statistics for views of the channel or video pages.
+      "bannerMobileMediumHdImageUrl": "A String", # Banner image. Mobile size medium/high resolution (960x263).
+      "bannerMobileHdImageUrl": "A String", # Banner image. Mobile size high resolution (1280x360).
+      "bannerExternalUrl": "A String", # This is used only in update requests; if it's set, we use this URL to generate all of the above banner URLs.
+      "bannerTabletImageUrl": "A String", # Banner image. Tablet size (1707x283).
+      "bannerMobileExtraHdImageUrl": "A String", # Banner image. Mobile size high resolution (1440x395).
+      "bannerMobileLowImageUrl": "A String", # Banner image. Mobile size low resolution (320x88).
+      "watchIconImageUrl": "A String", # The URL for the image that appears above the top-left corner of the video player. This is a 25-pixel-high image with a flexible width that cannot exceed 170 pixels.
+      "bannerTvImageUrl": "A String", # Banner image. TV size (2120x1192).
+      "bannerTabletExtraHdImageUrl": "A String", # Banner image. Tablet size extra high resolution (2560x424).
+    },
+    "watch": { # Branding properties for the watch. # Branding properties for the watch page.
+      "textColor": "A String", # The background color for the video watch page's branded area.
+      "featuredPlaylistId": "A String", # An ID that uniquely identifies a playlist that displays next to the video player.
+      "backgroundColor": "A String", # The text color for the video watch page's branded area.
+    },
+    "channel": { # Branding properties for the channel view. # Branding properties for the channel view.
+      "description": "A String", # Specifies the channel description.
+      "title": "A String", # Specifies the channel title.
+      "moderateComments": True or False, # Whether user-submitted comments left on the channel page need to be approved by the channel owner to be publicly visible.
+      "showBrowseView": True or False, # Whether the tab to browse the videos should be displayed.
+      "featuredChannelsTitle": "A String", # Title for the featured channels tab.
+      "unsubscribedTrailer": "A String", # The trailer of the channel, for users that are not subscribers.
+      "keywords": "A String", # Lists keywords associated with the channel, comma-separated.
+      "profileColor": "A String", # A prominent color that can be rendered on this channel page.
+      "defaultTab": "A String", # Which content tab users should see when viewing the channel.
+      "featuredChannelsUrls": [ # The list of featured channels.
+        "A String",
+      ],
+      "trackingAnalyticsAccountId": "A String", # The ID for a Google Analytics account to track and measure traffic to the channels.
+      "showRelatedChannels": True or False, # Whether related channels should be proposed.
+    },
+    "hints": [ # Additional experimental branding properties.
+      { # A pair Property / Value.
+        "property": "A String", # A property.
+        "value": "A String", # The property's value.
+      },
+    ],
+  },
+  "conversionPings": { # The conversionPings object encapsulates information about conversion pings that need to be respected by the channel. # The conversionPings object encapsulates information about conversion pings that need to be respected by the channel.
+    "pings": [ # Pings that the app shall fire (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
+      { # Pings that the app shall fire (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
+        "conversionUrl": "A String", # The url (without the schema) that the player shall send the ping to. It's at caller's descretion to decide which schema to use (http vs https) Example of a returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D cview%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA&labe=default The caller must append biscotti authentication (ms param in case of mobile, for example) to this ping.
+        "context": "A String", # Defines the context of the ping.
+      },
+    ],
+  },
+  "snippet": { # Basic details about a channel, including title, description and thumbnails. # The snippet object contains basic details about the channel, such as its title, description, and thumbnail images.
+    "title": "A String", # The channel's title.
+    "description": "A String", # The description of the channel.
+    "publishedAt": "A String", # The date and time that the channel was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+    "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the channel. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+      "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+        "url": "A String", # The thumbnail image's URL.
+        "width": 42, # (Optional) Width of the thumbnail image.
+        "height": 42, # (Optional) Height of the thumbnail image.
+      },
+      "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+        "url": "A String", # The thumbnail image's URL.
+        "width": 42, # (Optional) Width of the thumbnail image.
+        "height": 42, # (Optional) Height of the thumbnail image.
+      },
+      "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+        "url": "A String", # The thumbnail image's URL.
+        "width": 42, # (Optional) Width of the thumbnail image.
+        "height": 42, # (Optional) Height of the thumbnail image.
+      },
+      "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+        "url": "A String", # The thumbnail image's URL.
+        "width": 42, # (Optional) Width of the thumbnail image.
+        "height": 42, # (Optional) Height of the thumbnail image.
+      },
+      "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
+        "url": "A String", # The thumbnail image's URL.
+        "width": 42, # (Optional) Width of the thumbnail image.
+        "height": 42, # (Optional) Height of the thumbnail image.
+      },
+    },
+  },
+  "etag": "A String", # Etag of this resource.
+  "id": "A String", # The ID that YouTube uses to uniquely identify the channel.
+}
+
+  onBehalfOfContentOwner: string, The onBehalfOfContentOwner parameter indicates that the authenticated user is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. 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 actual CMS account that the user authenticates with needs to be linked to the specified YouTube content owner.
+
+Returns:
+  An object of the form:
+
+    { # A channel resource contains information about a YouTube channel.
+    "status": { # JSON template for the status part of a channel. # The status object encapsulates information about the privacy status of the channel.
+      "privacyStatus": "A String", # Privacy status of the channel.
+      "isLinked": True or False, # If true, then the user is linked to either a YouTube username or G+ account. Otherwise, the user doesn't have a public YouTube identity.
+    },
+    "invideoPromotion": { # Describes an invideo promotion campaign consisting of multiple promoted items. A campaign belongs to a single channel_id. # The invideoPromotion object encapsulates information about promotion campaign associated with the channel.
+      "defaultTiming": { # Describes a temporal position of a visual widget inside a video. # The default temporal position within the video where the promoted item will be displayed. Can be overriden by more specific timing in the item.
+        "offsetMs": "A String", # Defines the time at which the promotion will appear. Depending on the value of type the value of the offsetMs field will represent a time offset from the start or from the end of the video, expressed in milliseconds.
+        "type": "A String", # Describes a timing type. If the value is offsetFromStart, then the offsetMs field represents an offset from the start of the video. If the value is offsetFromEnd, then the offsetMs field represents an offset from the end of the video.
+        "durationMs": "A String", # Defines the duration in milliseconds for which the promotion should be displayed. If missing, the client should use the default.
+      },
+      "items": [ # List of promoted items in decreasing priority.
+        { # Describes a single promoted item.
+          "timing": { # Describes a temporal position of a visual widget inside a video. # The temporal position within the video where the promoted item will be displayed. If present, it overrides the default timing.
+            "offsetMs": "A String", # Defines the time at which the promotion will appear. Depending on the value of type the value of the offsetMs field will represent a time offset from the start or from the end of the video, expressed in milliseconds.
+            "type": "A String", # Describes a timing type. If the value is offsetFromStart, then the offsetMs field represents an offset from the start of the video. If the value is offsetFromEnd, then the offsetMs field represents an offset from the end of the video.
+            "durationMs": "A String", # Defines the duration in milliseconds for which the promotion should be displayed. If missing, the client should use the default.
+          },
+          "customMessage": "A String", # A custom message to display for this promotion. This field is currently ignored unless the promoted item is a website.
+          "id": { # Describes a single promoted item id. It is a union of various possible types. # Identifies the promoted item.
+            "websiteUrl": "A String", # If the promoted item represents a website, this field represents the url pointing to the website. This field will be present only if type has the value website.
+            "type": "A String", # Describes the type of the promoted item.
+            "videoId": "A String", # If the promoted item represents a video, this field represents the unique YouTube ID identifying it. This field will be present only if type has the value video.
+          },
+        },
+      ],
+      "position": { # Describes the spatial position of a visual widget inside a video. It is a union of various position types, out of which only will be set one. # The spatial position within the video where the promoted item will be displayed.
+        "cornerPosition": "A String", # Describes in which corner of the video the visual widget will appear.
+        "type": "A String", # Defines the position type.
+      },
+    },
+    "kind": "youtube#channel", # The kind, fixed to "youtube#channel".
+    "statistics": { # Statistics about a channel: number of subscribers, number of videos in the channel, etc. # The statistics object encapsulates statistics for the channel.
+      "commentCount": "A String", # The number of comments for the channel.
+      "subscriberCount": "A String", # The number of subscribers that the channel has.
+      "videoCount": "A String", # The number of videos uploaded to the channel.
+      "viewCount": "A String", # The number of times the channel has been viewed.
+    },
+    "topicDetails": { # Freebase topic information related to the channel. # The topicDetails object encapsulates information about Freebase topics associated with the channel.
+      "topicIds": [ # A list of Freebase topic IDs associated with the channel. You can retrieve information about each topic using the Freebase Topic API.
+        "A String",
+      ],
+    },
+    "contentDetails": { # Details about the content of a channel. # The contentDetails object encapsulates information about the channel's content.
+      "relatedPlaylists": {
+        "watchLater": "A String", # The ID of the playlist that contains the channel"s watch later playlist. Use the playlistItems.insert and  playlistItems.delete to add or remove items from that list.
+        "watchHistory": "A String", # The ID of the playlist that contains the channel"s watch history. Use the  playlistItems.insert and  playlistItems.delete to add or remove items from that list.
+        "likes": "A String", # The ID of the playlist that contains the channel"s liked videos. Use the   playlistItems.insert and  playlistItems.delete to add or remove items from that list.
+        "favorites": "A String", # The ID of the playlist that contains the channel"s favorite videos. Use the  playlistItems.insert and  playlistItems.delete to add or remove items from that list.
+        "uploads": "A String", # The ID of the playlist that contains the channel"s uploaded videos. Use the  videos.insert method to upload new videos and the videos.delete method to delete previously uploaded videos.
+      },
+      "googlePlusUserId": "A String", # The googlePlusUserId object identifies the Google+ profile ID associated with this channel.
+    },
+    "brandingSettings": { # Branding properties of a YouTube channel. # The brandingSettings object encapsulates information about the branding of the channel.
+      "image": { # Branding properties for images associated with the channel. # Branding properties for branding images.
+        "largeBrandedBannerImageUrl": { # Represent a property available in different languages. # The URL for the 854px by 70px image that appears below the video player in the expanded video view of the video watch page.
+          "default": "A String", # Default value for the localized property.
+          "localized": [ # The localized values.
+            { # A localized string.
+              "value": "A String", # Value of the property.
+              "language": "A String", # Language associated to this value.
+            },
+          ],
+        },
+        "bannerImageUrl": "A String", # Banner image. Desktop size (1060x175).
+        "backgroundImageUrl": { # Represent a property available in different languages. # The URL for the background image shown on the video watch page. The image should be 1200px by 615px, with a maximum file size of 128k.
+          "default": "A String", # Default value for the localized property.
+          "localized": [ # The localized values.
+            { # A localized string.
+              "value": "A String", # Value of the property.
+              "language": "A String", # Language associated to this value.
+            },
+          ],
+        },
+        "largeBrandedBannerImageImapScript": { # Represent a property available in different languages. # The image map script for the large banner image.
+          "default": "A String", # Default value for the localized property.
+          "localized": [ # The localized values.
+            { # A localized string.
+              "value": "A String", # Value of the property.
+              "language": "A String", # Language associated to this value.
+            },
+          ],
+        },
+        "bannerMobileImageUrl": "A String", # Banner image. Mobile size (640x175).
+        "smallBrandedBannerImageImapScript": { # Represent a property available in different languages. # The image map script for the small banner image.
+          "default": "A String", # Default value for the localized property.
+          "localized": [ # The localized values.
+            { # A localized string.
+              "value": "A String", # Value of the property.
+              "language": "A String", # Language associated to this value.
+            },
+          ],
+        },
+        "smallBrandedBannerImageUrl": { # Represent a property available in different languages. # The URL for the 640px by 70px banner image that appears below the video player in the default view of the video watch page.
+          "default": "A String", # Default value for the localized property.
+          "localized": [ # The localized values.
+            { # A localized string.
+              "value": "A String", # Value of the property.
+              "language": "A String", # Language associated to this value.
+            },
+          ],
+        },
+        "bannerTabletHdImageUrl": "A String", # Banner image. Tablet size high resolution (2276x377).
+        "bannerTabletLowImageUrl": "A String", # Banner image. Tablet size low resolution (1138x188).
+        "trackingImageUrl": "A String", # The URL for a 1px by 1px tracking pixel that can be used to collect statistics for views of the channel or video pages.
+        "bannerMobileMediumHdImageUrl": "A String", # Banner image. Mobile size medium/high resolution (960x263).
+        "bannerMobileHdImageUrl": "A String", # Banner image. Mobile size high resolution (1280x360).
+        "bannerExternalUrl": "A String", # This is used only in update requests; if it's set, we use this URL to generate all of the above banner URLs.
+        "bannerTabletImageUrl": "A String", # Banner image. Tablet size (1707x283).
+        "bannerMobileExtraHdImageUrl": "A String", # Banner image. Mobile size high resolution (1440x395).
+        "bannerMobileLowImageUrl": "A String", # Banner image. Mobile size low resolution (320x88).
+        "watchIconImageUrl": "A String", # The URL for the image that appears above the top-left corner of the video player. This is a 25-pixel-high image with a flexible width that cannot exceed 170 pixels.
+        "bannerTvImageUrl": "A String", # Banner image. TV size (2120x1192).
+        "bannerTabletExtraHdImageUrl": "A String", # Banner image. Tablet size extra high resolution (2560x424).
+      },
+      "watch": { # Branding properties for the watch. # Branding properties for the watch page.
+        "textColor": "A String", # The background color for the video watch page's branded area.
+        "featuredPlaylistId": "A String", # An ID that uniquely identifies a playlist that displays next to the video player.
+        "backgroundColor": "A String", # The text color for the video watch page's branded area.
+      },
+      "channel": { # Branding properties for the channel view. # Branding properties for the channel view.
+        "description": "A String", # Specifies the channel description.
+        "title": "A String", # Specifies the channel title.
+        "moderateComments": True or False, # Whether user-submitted comments left on the channel page need to be approved by the channel owner to be publicly visible.
+        "showBrowseView": True or False, # Whether the tab to browse the videos should be displayed.
+        "featuredChannelsTitle": "A String", # Title for the featured channels tab.
+        "unsubscribedTrailer": "A String", # The trailer of the channel, for users that are not subscribers.
+        "keywords": "A String", # Lists keywords associated with the channel, comma-separated.
+        "profileColor": "A String", # A prominent color that can be rendered on this channel page.
+        "defaultTab": "A String", # Which content tab users should see when viewing the channel.
+        "featuredChannelsUrls": [ # The list of featured channels.
+          "A String",
+        ],
+        "trackingAnalyticsAccountId": "A String", # The ID for a Google Analytics account to track and measure traffic to the channels.
+        "showRelatedChannels": True or False, # Whether related channels should be proposed.
+      },
+      "hints": [ # Additional experimental branding properties.
+        { # A pair Property / Value.
+          "property": "A String", # A property.
+          "value": "A String", # The property's value.
+        },
+      ],
+    },
+    "conversionPings": { # The conversionPings object encapsulates information about conversion pings that need to be respected by the channel. # The conversionPings object encapsulates information about conversion pings that need to be respected by the channel.
+      "pings": [ # Pings that the app shall fire (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
+        { # Pings that the app shall fire (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
+          "conversionUrl": "A String", # The url (without the schema) that the player shall send the ping to. It's at caller's descretion to decide which schema to use (http vs https) Example of a returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D cview%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA&labe=default The caller must append biscotti authentication (ms param in case of mobile, for example) to this ping.
+          "context": "A String", # Defines the context of the ping.
+        },
+      ],
+    },
+    "snippet": { # Basic details about a channel, including title, description and thumbnails. # The snippet object contains basic details about the channel, such as its title, description, and thumbnail images.
+      "title": "A String", # The channel's title.
+      "description": "A String", # The description of the channel.
+      "publishedAt": "A String", # The date and time that the channel was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the channel. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+      },
+    },
+    "etag": "A String", # Etag of this resource.
+    "id": "A String", # The ID that YouTube uses to uniquely identify the channel.
+  }</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.guideCategories.html b/docs/dyn/youtube_v3.guideCategories.html
index 073293e..38cd259 100644
--- a/docs/dyn/youtube_v3.guideCategories.html
+++ b/docs/dyn/youtube_v3.guideCategories.html
@@ -94,19 +94,21 @@
   An object of the form:
 
     { # A paginated list of guide categories returned as the response to a youtube.guideCategories.list call.
+    "eventId": "A String", # Serialized EventId of the request which produced this response.
     "items": [ # A list of categories that can be associated with YouTube channels. In this map, the category ID is the map key, and its value is the corresponding guideCategory resource.
       { # A guideCategory resource identifies a category that YouTube algorithmically assigns based on a channel's content or other indicators, such as the channel's popularity. The list is similar to video categories, with the difference being that a video's uploader can assign a video category but only YouTube can assign a channel category.
         "snippet": { # Basic details about a guide category. # The snippet object contains basic details about the category, such as its title.
-          "channelId": "UCBR8-60-B28hp2BmDPdntcQ", # The ID that YouTube uses to uniquely identify the channel publishing the guide category.
-          "title": "A String", # The category's title.
+          "channelId": "UCBR8-60-B28hp2BmDPdntcQ",
+          "title": "A String", # Description of the guide category.
         },
-        "kind": "youtube#guideCategory", # The type of the API resource. For guideCategory resources, the value will be youtube#guideCategory/code>.
-        "etag": "A String", # The ETag of the guideCategory resource.
+        "kind": "youtube#guideCategory", # The kind, fixed to "youtube#guideCategory".
+        "etag": "A String", # Etag of this resource.
         "id": "A String", # The ID that YouTube uses to uniquely identify the guide category.
       },
     ],
     "kind": "youtube#guideCategoryListResponse", # The type of the API response. For this operation, the value will be youtube#guideCategoryListResponse.
     "etag": "A String", # The ETag of the response.
+    "visitorId": "A String", # The visitorId identifies the visitor.
   }</pre>
 </div>
 
diff --git a/docs/dyn/youtube_v3.html b/docs/dyn/youtube_v3.html
index 4f8da3d..ee5a74d 100644
--- a/docs/dyn/youtube_v3.html
+++ b/docs/dyn/youtube_v3.html
@@ -80,6 +80,11 @@
 <p class="firstline">Returns the activities Resource.</p>
 
 <p class="toc_element">
+  <code><a href="youtube_v3.channelBanners.html">channelBanners()</a></code>
+</p>
+<p class="firstline">Returns the channelBanners Resource.</p>
+
+<p class="toc_element">
   <code><a href="youtube_v3.channels.html">channels()</a></code>
 </p>
 <p class="firstline">Returns the channels Resource.</p>
@@ -120,6 +125,11 @@
 <p class="firstline">Returns the subscriptions Resource.</p>
 
 <p class="toc_element">
+  <code><a href="youtube_v3.thumbnails.html">thumbnails()</a></code>
+</p>
+<p class="firstline">Returns the thumbnails Resource.</p>
+
+<p class="toc_element">
   <code><a href="youtube_v3.videoCategories.html">videoCategories()</a></code>
 </p>
 <p class="firstline">Returns the videoCategories Resource.</p>
diff --git a/docs/dyn/youtube_v3.liveBroadcasts.html b/docs/dyn/youtube_v3.liveBroadcasts.html
index b7957f2..143e8a0 100644
--- a/docs/dyn/youtube_v3.liveBroadcasts.html
+++ b/docs/dyn/youtube_v3.liveBroadcasts.html
@@ -75,295 +75,485 @@
 <h1><a href="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.liveBroadcasts.html">liveBroadcasts</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
-  <code><a href="#bind">bind(id, part, streamId=None)</a></code></p>
-<p class="firstline">Bind a YouTube live broadcast to a stream.</p>
+  <code><a href="#bind">bind(id, part, onBehalfOfContentOwner=None, streamId=None)</a></code></p>
+<p class="firstline">Binds a YouTube broadcast to a stream or removes an existing binding between a broadcast and a stream. A broadcast can only be bound to one video stream.</p>
 <p class="toc_element">
-  <code><a href="#delete">delete(id)</a></code></p>
-<p class="firstline">Delete a YouTube live broadcast.</p>
+  <code><a href="#control">control(id, part, onBehalfOfContentOwner=None, displaySlate=None, offsetTimeMs=None)</a></code></p>
+<p class="firstline">Control the slate of the broadacast.</p>
 <p class="toc_element">
-  <code><a href="#insert">insert(part, body)</a></code></p>
-<p class="firstline">Insert a YouTube live broadcast.</p>
+  <code><a href="#delete">delete(id, onBehalfOfContentOwner=None)</a></code></p>
+<p class="firstline">Deletes a broadcast.</p>
 <p class="toc_element">
-  <code><a href="#list">list(part, broadcastStatus=None, onBehalfOf=None, pageToken=None, maxResults=None, mine=None, id=None)</a></code></p>
-<p class="firstline">Browse the YouTube broadcast collection.</p>
+  <code><a href="#insert">insert(part=None, body, onBehalfOfContentOwner=None)</a></code></p>
+<p class="firstline">Creates a broadcast.</p>
+<p class="toc_element">
+  <code><a href="#list">list(part, broadcastStatus=None, pageToken=None, mine=None, maxResults=None, id=None)</a></code></p>
+<p class="firstline">Returns a list of YouTube broadcasts that match the API request parameters.</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="#transition">transition(broadcastStatus, id, part)</a></code></p>
-<p class="firstline">Change the broadcasting status of a YouTube live broadcast and start all the processes associated with it.</p>
+  <code><a href="#transition">transition(broadcastStatus, id, part, onBehalfOfContentOwner=None)</a></code></p>
+<p class="firstline">Changes the status of a YouTube live broadcast and initiates any processes associated with the new status. For example, when you transition a broadcast's status to testing, YouTube starts to transmit video to that broadcast's monitor stream.</p>
 <p class="toc_element">
-  <code><a href="#update">update(part=None, body)</a></code></p>
-<p class="firstline">Update a YouTube live broadcast.</p>
+  <code><a href="#update">update(part=None, body, onBehalfOfContentOwner=None)</a></code></p>
+<p class="firstline">Updates a broadcast. For example, you could modify the broadcast settings defined in the liveBroadcast resource's contentDetails object.</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="bind">bind(id, part, streamId=None)</code>
-  <pre>Bind a YouTube live broadcast to a stream.
+    <code class="details" id="bind">bind(id, part, onBehalfOfContentOwner=None, streamId=None)</code>
+  <pre>Binds a YouTube broadcast to a stream or removes an existing binding between a broadcast and a stream. A broadcast can only be bound to one video stream.
 
 Args:
-  id: string, ID of the broadcast to which the stream will be bound (required)
-  part: string, Live broadcast parts to be returned in the response. Valid values are: id, snippet, status, slateSettings, contentDetails. (required)
-  streamId: string, ID of the stream to bind to the broadcast
+  id: string, The id parameter specifies the unique ID of the broadcast that is being bound to a video stream. (required)
+  part: string, The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status. (required)
+  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
+  streamId: string, The streamId parameter specifies the unique ID of the video stream that is being bound to a broadcast. If this parameter is omitted, the API will remove any existing binding between the broadcast and a video stream.
 
 Returns:
   An object of the form:
 
-    { # A live broadcast describes live event configuration.
-      "status": { # The status of a live broadcast. # The status of the live broadcast.
-        "privacyStatus": "A String", # Privacy settings of the live broadcast. Allowed values: private, unlisted, public.
-        "lifeCycleStatus": "A String", # Life status of the live broadcast.
-      },
-      "kind": "youtube#liveBroadcast", # The type of this API resource.
-      "contentDetails": { # Slate settings of a broadcast. # The content details of the live broadcast.
-        "enableArchive": True or False, # Whether the live event will be archived or not.
-        "boundStreamId": "A String", # The id of the stream bound to the broadcast.
-        "startWithSlateCuepoint": True or False, # Automatically start with a slate cuepoint.
-        "enableEmbed": True or False, # Whether to allow the broadcast to be played in an embedded player.
-        "enableContentEncryption": True or False, # Whether to enable or disable content encryption.
-        "enableDvr": True or False, # Whether the dvr (digital video recording) is enabled or not.
-        "monitorStream": { # Information about the monitor stream which helps the broadcaster to review the event content before shown to the public.
-          "broadcastStreamDelayMs": 42, # If enableMonitorStream is true, the public broadcast will be delayed by this value.
-          "embedHtml": "A String", # The html code of the embedded player for the monitor stream.
-          "enableMonitorStream": True or False, # Whether to enable the monitor stream for the broadcast.
-        },
-      },
-      "slateSettings": { # Slate settings of a broadcast. # The slate settings of the live broadcast.
-        "slates": { # Broadcast slates.
-          "a_key": { # Locale code indicating in which region should the slate be displayed.
-            "backgroundUrl": "A String", # Url of the background image.
-            "textLines": [ # Multi-line message showing in the slate.
-              "A String",
-            ],
-          },
-        },
-        "enableSlates": True or False, # Whether slate is enabled or not.
-      },
-      "snippet": { # Basic details about a live broadcast, including title, description and thumbnails. # Basic details about the live broadcast.
-        "actualEndTime": "A String", # Date and time the broadcast is actual to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "description": "A String", # Description of the broadcast.
-        "title": "A String", # Title of the broadcast.
-        "channelId": "A String", # Channel publishing the broadcast.
-        "publishedAt": "A String", # Date and time the broadcast was published at. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "scheduledStartTime": "A String", # Date and time the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "actualStartTime": "A String", # Date and time the broadcast is actual to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "scheduledEndTime": "A String", # Date and time the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "thumbnails": { # Video thumbnails.
-          "a_key": { # A thumbnail is an image representing a YouTube resource. # A map of thumbnails by their name.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-        },
-      },
-      "etag": "A String", # The eTag of the broadcast.
-      "id": "A String", # The unique id of the broadcast.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(id)</code>
-  <pre>Delete a YouTube live broadcast.
-
-Args:
-  id: string, The id parameter specifies the YouTube live broadcast ID for the resource that is being deleted. (required)
-</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="insert">insert(part, body)</code>
-  <pre>Insert a YouTube live broadcast.
-
-Args:
-  part: string, Live broadcast parts to be set for the broadcast as well as included in the returned response. Valid values are: snippet, status, slateSettings, contentDetails. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A live broadcast describes live event configuration.
-    "status": { # The status of a live broadcast. # The status of the live broadcast.
-      "privacyStatus": "A String", # Privacy settings of the live broadcast. Allowed values: private, unlisted, public.
-      "lifeCycleStatus": "A String", # Life status of the live broadcast.
+    { # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
+    "status": { # The status object contains information about the event's status.
+      "recordingStatus": "A String", # The broadcast's recording status.
+      "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
+      "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
     },
-    "kind": "youtube#liveBroadcast", # The type of this API resource.
-    "contentDetails": { # Slate settings of a broadcast. # The content details of the live broadcast.
-      "enableArchive": True or False, # Whether the live event will be archived or not.
-      "boundStreamId": "A String", # The id of the stream bound to the broadcast.
-      "startWithSlateCuepoint": True or False, # Automatically start with a slate cuepoint.
-      "enableEmbed": True or False, # Whether to allow the broadcast to be played in an embedded player.
-      "enableContentEncryption": True or False, # Whether to enable or disable content encryption.
-      "enableDvr": True or False, # Whether the dvr (digital video recording) is enabled or not.
-      "monitorStream": { # Information about the monitor stream which helps the broadcaster to review the event content before shown to the public.
-        "broadcastStreamDelayMs": 42, # If enableMonitorStream is true, the public broadcast will be delayed by this value.
-        "embedHtml": "A String", # The html code of the embedded player for the monitor stream.
-        "enableMonitorStream": True or False, # Whether to enable the monitor stream for the broadcast.
+    "kind": "youtube#liveBroadcast", # The kind, fixed to "youtube#liveBroadcast".
+    "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
+      "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
+      "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
+      "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
+      "enableClosedCaptions": True or False, # This setting indicates whether closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API.
+      "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
+      "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
+          #
+          #
+          #
+          # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
+      "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
+          #
+          #
+          #
+          # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
+      "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
+        "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
+        "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
+        "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
+            #
+            # You need to set this value to true if you intend to have a broadcast delay for your event.
+            #
+            # Note: This property cannot be updated once the broadcast is in the testing or live state.
       },
     },
-    "slateSettings": { # Slate settings of a broadcast. # The slate settings of the live broadcast.
-      "slates": { # Broadcast slates.
-        "a_key": { # Locale code indicating in which region should the slate be displayed.
-          "backgroundUrl": "A String", # Url of the background image.
-          "textLines": [ # Multi-line message showing in the slate.
-            "A String",
-          ],
+    "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
+      "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
+      "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
+      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
+      "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
         },
-      },
-      "enableSlates": True or False, # Whether slate is enabled or not.
-    },
-    "snippet": { # Basic details about a live broadcast, including title, description and thumbnails. # Basic details about the live broadcast.
-      "actualEndTime": "A String", # Date and time the broadcast is actual to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "description": "A String", # Description of the broadcast.
-      "title": "A String", # Title of the broadcast.
-      "channelId": "A String", # Channel publishing the broadcast.
-      "publishedAt": "A String", # Date and time the broadcast was published at. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "scheduledStartTime": "A String", # Date and time the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "actualStartTime": "A String", # Date and time the broadcast is actual to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "scheduledEndTime": "A String", # Date and time the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "thumbnails": { # Video thumbnails.
-        "a_key": { # A thumbnail is an image representing a YouTube resource. # A map of thumbnails by their name.
+        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
           "url": "A String", # The thumbnail image's URL.
           "width": 42, # (Optional) Width of the thumbnail image.
           "height": 42, # (Optional) Height of the thumbnail image.
         },
       },
     },
-    "etag": "A String", # The eTag of the broadcast.
-    "id": "A String", # The unique id of the broadcast.
-  }
+    "etag": "A String", # Etag of this resource.
+    "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
+  }</pre>
+</div>
 
+<div class="method">
+    <code class="details" id="control">control(id, part, onBehalfOfContentOwner=None, displaySlate=None, offsetTimeMs=None)</code>
+  <pre>Control the slate of the broadacast.
+
+Args:
+  id: string, The id parameter specifies the YouTube live broadcast ID for the resource that is being deleted. (required)
+  part: string, The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status. (required)
+  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
+  displaySlate: boolean, The displaySlate parameter specifies whether to enable or disable the slate.
+  offsetTimeMs: string, The offsetTimeMs parameter specifies a point in time in the video when the specified action (e.g. display a slate) is executed. The property value identifies a positive time offset, in milliseconds, from the beginning of the monitor stream. Though measured in milliseconds, the value is actually an approximation, and YouTube will act as closely as possible to that time. If not specified, it indicates that the action should be performed as soon as possible. If your broadcast stream is not delayed, then it should not be specified. However, if your broadcast stream is delayed, then the parameter can specify the time when the operation should be executed. See the Getting started guide for more details. Note: The offset is measured from the time that the testing phase began.
 
 Returns:
   An object of the form:
 
-    { # A live broadcast describes live event configuration.
-      "status": { # The status of a live broadcast. # The status of the live broadcast.
-        "privacyStatus": "A String", # Privacy settings of the live broadcast. Allowed values: private, unlisted, public.
-        "lifeCycleStatus": "A String", # Life status of the live broadcast.
+    { # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
+    "status": { # The status object contains information about the event's status.
+      "recordingStatus": "A String", # The broadcast's recording status.
+      "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
+      "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
+    },
+    "kind": "youtube#liveBroadcast", # The kind, fixed to "youtube#liveBroadcast".
+    "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
+      "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
+      "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
+      "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
+      "enableClosedCaptions": True or False, # This setting indicates whether closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API.
+      "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
+      "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
+          #
+          #
+          #
+          # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
+      "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
+          #
+          #
+          #
+          # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
+      "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
+        "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
+        "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
+        "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
+            #
+            # You need to set this value to true if you intend to have a broadcast delay for your event.
+            #
+            # Note: This property cannot be updated once the broadcast is in the testing or live state.
       },
-      "kind": "youtube#liveBroadcast", # The type of this API resource.
-      "contentDetails": { # Slate settings of a broadcast. # The content details of the live broadcast.
-        "enableArchive": True or False, # Whether the live event will be archived or not.
-        "boundStreamId": "A String", # The id of the stream bound to the broadcast.
-        "startWithSlateCuepoint": True or False, # Automatically start with a slate cuepoint.
-        "enableEmbed": True or False, # Whether to allow the broadcast to be played in an embedded player.
-        "enableContentEncryption": True or False, # Whether to enable or disable content encryption.
-        "enableDvr": True or False, # Whether the dvr (digital video recording) is enabled or not.
-        "monitorStream": { # Information about the monitor stream which helps the broadcaster to review the event content before shown to the public.
-          "broadcastStreamDelayMs": 42, # If enableMonitorStream is true, the public broadcast will be delayed by this value.
-          "embedHtml": "A String", # The html code of the embedded player for the monitor stream.
-          "enableMonitorStream": True or False, # Whether to enable the monitor stream for the broadcast.
+    },
+    "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
+      "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
+      "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
+      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
+      "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
         },
       },
-      "slateSettings": { # Slate settings of a broadcast. # The slate settings of the live broadcast.
-        "slates": { # Broadcast slates.
-          "a_key": { # Locale code indicating in which region should the slate be displayed.
-            "backgroundUrl": "A String", # Url of the background image.
-            "textLines": [ # Multi-line message showing in the slate.
-              "A String",
-            ],
-          },
-        },
-        "enableSlates": True or False, # Whether slate is enabled or not.
-      },
-      "snippet": { # Basic details about a live broadcast, including title, description and thumbnails. # Basic details about the live broadcast.
-        "actualEndTime": "A String", # Date and time the broadcast is actual to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "description": "A String", # Description of the broadcast.
-        "title": "A String", # Title of the broadcast.
-        "channelId": "A String", # Channel publishing the broadcast.
-        "publishedAt": "A String", # Date and time the broadcast was published at. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "scheduledStartTime": "A String", # Date and time the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "actualStartTime": "A String", # Date and time the broadcast is actual to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "scheduledEndTime": "A String", # Date and time the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "thumbnails": { # Video thumbnails.
-          "a_key": { # A thumbnail is an image representing a YouTube resource. # A map of thumbnails by their name.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-        },
-      },
-      "etag": "A String", # The eTag of the broadcast.
-      "id": "A String", # The unique id of the broadcast.
-    }</pre>
+    },
+    "etag": "A String", # Etag of this resource.
+    "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
+  }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(part, broadcastStatus=None, onBehalfOf=None, pageToken=None, maxResults=None, mine=None, id=None)</code>
-  <pre>Browse the YouTube broadcast collection.
+    <code class="details" id="delete">delete(id, onBehalfOfContentOwner=None)</code>
+  <pre>Deletes a broadcast.
 
 Args:
-  part: string, Live broadcast parts to include in the returned response. Valid values are: id, snippet, status, slateSettings, contentDetails. (required)
-  broadcastStatus: string, Filter to only return broadcasts with the given status by the authenticated user.
+  id: string, The id parameter specifies the YouTube live broadcast ID for the resource that is being deleted. (required)
+  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(part=None, body, onBehalfOfContentOwner=None)</code>
+  <pre>Creates a broadcast.
+
+Args:
+  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
+
+The part properties that you can include in the parameter value are id, snippet, contentDetails, and status. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
+  "status": { # The status object contains information about the event's status.
+    "recordingStatus": "A String", # The broadcast's recording status.
+    "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
+    "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
+  },
+  "kind": "youtube#liveBroadcast", # The kind, fixed to "youtube#liveBroadcast".
+  "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
+    "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
+    "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
+    "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
+    "enableClosedCaptions": True or False, # This setting indicates whether closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API.
+    "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
+    "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
+        #
+        #
+        #
+        # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
+    "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
+        #
+        #
+        #
+        # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
+    "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
+      "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
+      "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
+      "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
+          #
+          # You need to set this value to true if you intend to have a broadcast delay for your event.
+          #
+          # Note: This property cannot be updated once the broadcast is in the testing or live state.
+    },
+  },
+  "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
+    "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+    "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
+    "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
+    "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
+    "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+    "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+    "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+    "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+    "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+      "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+        "url": "A String", # The thumbnail image's URL.
+        "width": 42, # (Optional) Width of the thumbnail image.
+        "height": 42, # (Optional) Height of the thumbnail image.
+      },
+      "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+        "url": "A String", # The thumbnail image's URL.
+        "width": 42, # (Optional) Width of the thumbnail image.
+        "height": 42, # (Optional) Height of the thumbnail image.
+      },
+      "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+        "url": "A String", # The thumbnail image's URL.
+        "width": 42, # (Optional) Width of the thumbnail image.
+        "height": 42, # (Optional) Height of the thumbnail image.
+      },
+      "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+        "url": "A String", # The thumbnail image's URL.
+        "width": 42, # (Optional) Width of the thumbnail image.
+        "height": 42, # (Optional) Height of the thumbnail image.
+      },
+      "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
+        "url": "A String", # The thumbnail image's URL.
+        "width": 42, # (Optional) Width of the thumbnail image.
+        "height": 42, # (Optional) Height of the thumbnail image.
+      },
+    },
+  },
+  "etag": "A String", # Etag of this resource.
+  "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
+}
+
+  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
+
+Returns:
+  An object of the form:
+
+    { # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
+    "status": { # The status object contains information about the event's status.
+      "recordingStatus": "A String", # The broadcast's recording status.
+      "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
+      "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
+    },
+    "kind": "youtube#liveBroadcast", # The kind, fixed to "youtube#liveBroadcast".
+    "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
+      "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
+      "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
+      "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
+      "enableClosedCaptions": True or False, # This setting indicates whether closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API.
+      "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
+      "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
+          #
+          #
+          #
+          # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
+      "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
+          #
+          #
+          #
+          # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
+      "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
+        "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
+        "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
+        "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
+            #
+            # You need to set this value to true if you intend to have a broadcast delay for your event.
+            #
+            # Note: This property cannot be updated once the broadcast is in the testing or live state.
+      },
+    },
+    "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
+      "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
+      "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
+      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
+      "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+      },
+    },
+    "etag": "A String", # Etag of this resource.
+    "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(part, broadcastStatus=None, pageToken=None, mine=None, maxResults=None, id=None)</code>
+  <pre>Returns a list of YouTube broadcasts that match the API request parameters.
+
+Args:
+  part: string, The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status. (required)
+  broadcastStatus: string, The broadcastStatus parameter filters the API response to only include broadcasts with the specified status.
     Allowed values
-      active - Return active broadcasts.
-      all - Return all the broadcasts.
-      completed - Return previously completed broadcasts.
-      upcoming - Return upcoming broadcasts.
-  onBehalfOf: string, ID of the Google+ Page for the channel that the request is be on behalf of
-  pageToken: string, Token for the page selection.
-  maxResults: integer, Maximum number of results to return
-  mine: boolean, Filter to only return broadcasts owned by authenticated user.
-  id: string, IDs of the live broadcasts to be returned.
+      active - Return current live broadcasts.
+      all - Return all broadcasts.
+      completed - Return broadcasts that have already ended.
+      upcoming - Return broadcasts that have not yet started.
+  pageToken: string, The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
+  mine: boolean, The mine parameter can be used to instruct the API to only return broadcasts owned by the authenticated user. Set the parameter value to true to only retrieve your own broadcasts.
+  maxResults: integer, The maxResults parameter specifies the maximum number of items that should be returned in the result set. Acceptable values are 0 to 50, inclusive. The default value is 5.
+  id: string, The id parameter specifies a comma-separated list of YouTube broadcast IDs that identify the broadcasts being retrieved. In a liveBroadcast resource, the id property specifies the broadcast's ID.
 
 Returns:
   An object of the form:
 
     { # JSON template for list of broadcasts.
-    "nextPageToken": "A String", # The token that can be used as the value of the {@code pageInfo} parameter to retrieve the next page in the result set.
-    "kind": "youtube#liveBroadcastList", # The type of this API resource.
+    "eventId": "A String", # Serialized EventId of the request which produced this response.
+    "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.
+    "kind": "youtube#liveBroadcastList", # The type of the API response. For this operation, the value will be youtube#liveBroadcastList.
+    "visitorId": "A String", # The visitorId identifies the visitor.
     "items": [ # A list of broadcasts that match the request criteria.
-      { # A live broadcast describes live event configuration.
-          "status": { # The status of a live broadcast. # The status of the live broadcast.
-            "privacyStatus": "A String", # Privacy settings of the live broadcast. Allowed values: private, unlisted, public.
-            "lifeCycleStatus": "A String", # Life status of the live broadcast.
-          },
-          "kind": "youtube#liveBroadcast", # The type of this API resource.
-          "contentDetails": { # Slate settings of a broadcast. # The content details of the live broadcast.
-            "enableArchive": True or False, # Whether the live event will be archived or not.
-            "boundStreamId": "A String", # The id of the stream bound to the broadcast.
-            "startWithSlateCuepoint": True or False, # Automatically start with a slate cuepoint.
-            "enableEmbed": True or False, # Whether to allow the broadcast to be played in an embedded player.
-            "enableContentEncryption": True or False, # Whether to enable or disable content encryption.
-            "enableDvr": True or False, # Whether the dvr (digital video recording) is enabled or not.
-            "monitorStream": { # Information about the monitor stream which helps the broadcaster to review the event content before shown to the public.
-              "broadcastStreamDelayMs": 42, # If enableMonitorStream is true, the public broadcast will be delayed by this value.
-              "embedHtml": "A String", # The html code of the embedded player for the monitor stream.
-              "enableMonitorStream": True or False, # Whether to enable the monitor stream for the broadcast.
-            },
-          },
-          "slateSettings": { # Slate settings of a broadcast. # The slate settings of the live broadcast.
-            "slates": { # Broadcast slates.
-              "a_key": { # Locale code indicating in which region should the slate be displayed.
-                "backgroundUrl": "A String", # Url of the background image.
-                "textLines": [ # Multi-line message showing in the slate.
-                  "A String",
-                ],
-              },
-            },
-            "enableSlates": True or False, # Whether slate is enabled or not.
-          },
-          "snippet": { # Basic details about a live broadcast, including title, description and thumbnails. # Basic details about the live broadcast.
-            "actualEndTime": "A String", # Date and time the broadcast is actual to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-            "description": "A String", # Description of the broadcast.
-            "title": "A String", # Title of the broadcast.
-            "channelId": "A String", # Channel publishing the broadcast.
-            "publishedAt": "A String", # Date and time the broadcast was published at. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-            "scheduledStartTime": "A String", # Date and time the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-            "actualStartTime": "A String", # Date and time the broadcast is actual to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-            "scheduledEndTime": "A String", # Date and time the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-            "thumbnails": { # Video thumbnails.
-              "a_key": { # A thumbnail is an image representing a YouTube resource. # A map of thumbnails by their name.
-                "url": "A String", # The thumbnail image's URL.
-                "width": 42, # (Optional) Width of the thumbnail image.
-                "height": 42, # (Optional) Height of the thumbnail image.
-              },
-            },
-          },
-          "etag": "A String", # The eTag of the broadcast.
-          "id": "A String", # The unique id of the broadcast.
+      { # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
+        "status": { # The status object contains information about the event's status.
+          "recordingStatus": "A String", # The broadcast's recording status.
+          "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
+          "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
         },
+        "kind": "youtube#liveBroadcast", # The kind, fixed to "youtube#liveBroadcast".
+        "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
+          "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
+          "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
+          "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
+          "enableClosedCaptions": True or False, # This setting indicates whether closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API.
+          "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
+          "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
+              #
+              #
+              #
+              # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
+          "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
+              #
+              #
+              #
+              # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
+          "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
+            "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
+            "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
+            "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
+                #
+                # You need to set this value to true if you intend to have a broadcast delay for your event.
+                #
+                # Note: This property cannot be updated once the broadcast is in the testing or live state.
+          },
+        },
+        "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
+          "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+          "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
+          "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
+          "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
+          "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+          "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+          "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+          "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+          "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+            "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+              "url": "A String", # The thumbnail image's URL.
+              "width": 42, # (Optional) Width of the thumbnail image.
+              "height": 42, # (Optional) Height of the thumbnail image.
+            },
+            "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+              "url": "A String", # The thumbnail image's URL.
+              "width": 42, # (Optional) Width of the thumbnail image.
+              "height": 42, # (Optional) Height of the thumbnail image.
+            },
+            "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+              "url": "A String", # The thumbnail image's URL.
+              "width": 42, # (Optional) Width of the thumbnail image.
+              "height": 42, # (Optional) Height of the thumbnail image.
+            },
+            "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+              "url": "A String", # The thumbnail image's URL.
+              "width": 42, # (Optional) Width of the thumbnail image.
+              "height": 42, # (Optional) Height of the thumbnail image.
+            },
+            "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
+              "url": "A String", # The thumbnail image's URL.
+              "width": 42, # (Optional) Width of the thumbnail image.
+              "height": 42, # (Optional) Height of the thumbnail image.
+            },
+          },
+        },
+        "etag": "A String", # Etag of this resource.
+        "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
+      },
     ],
-    "etag": "A String", # The eTag of the chart.
-    "prevPageToken": "A String", # The token that can be used as the value of the {@code pageInfo} parameter to retrieve the previous page in the result set.
-    "pageInfo": { # Paging details for lists of resources, including total number of items available and number of resources returned in a single page. # The {@code pageInfo} object encapsulates paging information for the result set.
+    "etag": "A String", # The ETag of the response.
+    "prevPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
+    "pageInfo": { # Paging details for lists of resources, including total number of items available and number of resources returned in a single page. # The pageInfo object encapsulates paging information for the result set.
       "totalResults": 42, # The total number of results in the result set.
       "resultsPerPage": 42, # The number of results included in the API response.
     },
@@ -385,189 +575,262 @@
 </div>
 
 <div class="method">
-    <code class="details" id="transition">transition(broadcastStatus, id, part)</code>
-  <pre>Change the broadcasting status of a YouTube live broadcast and start all the processes associated with it.
+    <code class="details" id="transition">transition(broadcastStatus, id, part, onBehalfOfContentOwner=None)</code>
+  <pre>Changes the status of a YouTube live broadcast and initiates any processes associated with the new status. For example, when you transition a broadcast's status to testing, YouTube starts to transmit video to that broadcast's monitor stream.
 
 Args:
-  broadcastStatus: string, Desired broadcast status. (required)
+  broadcastStatus: string, The broadcastStatus parameter identifies the state to which the broadcast is changing. (required)
     Allowed values
-      complete - Stop broadcasting.
-      live - Start broadcasting.
-      testing - Start broadcast testing.
-  id: string, ID of the broadcast to change status (required)
-  part: string, Live broadcast parts to be returned in the response. Valid values are: id, snippet, status, slateSettings, contentDetails. (required)
+      complete - The broadcast is over. YouTube stops transmitting video.
+      live - The broadcast is visible to its audience. YouTube transmits video to the broadcast's monitor stream and its broadcast stream.
+      testing - Start testing the broadcast. YouTube transmits video to the broadcast's monitor stream. Note that you can only transition a broadcast to the testing state if its contentDetails.monitorStream.enableMonitorStream property is set to true.
+  id: string, The id parameter specifies the unique ID of the broadcast that is transitioning to another status. (required)
+  part: string, The part parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status. (required)
+  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
 
 Returns:
   An object of the form:
 
-    { # A live broadcast describes live event configuration.
-      "status": { # The status of a live broadcast. # The status of the live broadcast.
-        "privacyStatus": "A String", # Privacy settings of the live broadcast. Allowed values: private, unlisted, public.
-        "lifeCycleStatus": "A String", # Life status of the live broadcast.
-      },
-      "kind": "youtube#liveBroadcast", # The type of this API resource.
-      "contentDetails": { # Slate settings of a broadcast. # The content details of the live broadcast.
-        "enableArchive": True or False, # Whether the live event will be archived or not.
-        "boundStreamId": "A String", # The id of the stream bound to the broadcast.
-        "startWithSlateCuepoint": True or False, # Automatically start with a slate cuepoint.
-        "enableEmbed": True or False, # Whether to allow the broadcast to be played in an embedded player.
-        "enableContentEncryption": True or False, # Whether to enable or disable content encryption.
-        "enableDvr": True or False, # Whether the dvr (digital video recording) is enabled or not.
-        "monitorStream": { # Information about the monitor stream which helps the broadcaster to review the event content before shown to the public.
-          "broadcastStreamDelayMs": 42, # If enableMonitorStream is true, the public broadcast will be delayed by this value.
-          "embedHtml": "A String", # The html code of the embedded player for the monitor stream.
-          "enableMonitorStream": True or False, # Whether to enable the monitor stream for the broadcast.
-        },
-      },
-      "slateSettings": { # Slate settings of a broadcast. # The slate settings of the live broadcast.
-        "slates": { # Broadcast slates.
-          "a_key": { # Locale code indicating in which region should the slate be displayed.
-            "backgroundUrl": "A String", # Url of the background image.
-            "textLines": [ # Multi-line message showing in the slate.
-              "A String",
-            ],
-          },
-        },
-        "enableSlates": True or False, # Whether slate is enabled or not.
-      },
-      "snippet": { # Basic details about a live broadcast, including title, description and thumbnails. # Basic details about the live broadcast.
-        "actualEndTime": "A String", # Date and time the broadcast is actual to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "description": "A String", # Description of the broadcast.
-        "title": "A String", # Title of the broadcast.
-        "channelId": "A String", # Channel publishing the broadcast.
-        "publishedAt": "A String", # Date and time the broadcast was published at. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "scheduledStartTime": "A String", # Date and time the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "actualStartTime": "A String", # Date and time the broadcast is actual to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "scheduledEndTime": "A String", # Date and time the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "thumbnails": { # Video thumbnails.
-          "a_key": { # A thumbnail is an image representing a YouTube resource. # A map of thumbnails by their name.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-        },
-      },
-      "etag": "A String", # The eTag of the broadcast.
-      "id": "A String", # The unique id of the broadcast.
-    }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(part=None, body)</code>
-  <pre>Update a YouTube live broadcast.
-
-Args:
-  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
-
-The part names that you can include in the parameter value are id, snippet, status, slateSettings, contentDetails. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{ # A live broadcast describes live event configuration.
-    "status": { # The status of a live broadcast. # The status of the live broadcast.
-      "privacyStatus": "A String", # Privacy settings of the live broadcast. Allowed values: private, unlisted, public.
-      "lifeCycleStatus": "A String", # Life status of the live broadcast.
+    { # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
+    "status": { # The status object contains information about the event's status.
+      "recordingStatus": "A String", # The broadcast's recording status.
+      "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
+      "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
     },
-    "kind": "youtube#liveBroadcast", # The type of this API resource.
-    "contentDetails": { # Slate settings of a broadcast. # The content details of the live broadcast.
-      "enableArchive": True or False, # Whether the live event will be archived or not.
-      "boundStreamId": "A String", # The id of the stream bound to the broadcast.
-      "startWithSlateCuepoint": True or False, # Automatically start with a slate cuepoint.
-      "enableEmbed": True or False, # Whether to allow the broadcast to be played in an embedded player.
-      "enableContentEncryption": True or False, # Whether to enable or disable content encryption.
-      "enableDvr": True or False, # Whether the dvr (digital video recording) is enabled or not.
-      "monitorStream": { # Information about the monitor stream which helps the broadcaster to review the event content before shown to the public.
-        "broadcastStreamDelayMs": 42, # If enableMonitorStream is true, the public broadcast will be delayed by this value.
-        "embedHtml": "A String", # The html code of the embedded player for the monitor stream.
-        "enableMonitorStream": True or False, # Whether to enable the monitor stream for the broadcast.
+    "kind": "youtube#liveBroadcast", # The kind, fixed to "youtube#liveBroadcast".
+    "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
+      "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
+      "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
+      "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
+      "enableClosedCaptions": True or False, # This setting indicates whether closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API.
+      "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
+      "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
+          #
+          #
+          #
+          # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
+      "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
+          #
+          #
+          #
+          # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
+      "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
+        "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
+        "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
+        "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
+            #
+            # You need to set this value to true if you intend to have a broadcast delay for your event.
+            #
+            # Note: This property cannot be updated once the broadcast is in the testing or live state.
       },
     },
-    "slateSettings": { # Slate settings of a broadcast. # The slate settings of the live broadcast.
-      "slates": { # Broadcast slates.
-        "a_key": { # Locale code indicating in which region should the slate be displayed.
-          "backgroundUrl": "A String", # Url of the background image.
-          "textLines": [ # Multi-line message showing in the slate.
-            "A String",
-          ],
+    "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
+      "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
+      "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
+      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
+      "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
         },
-      },
-      "enableSlates": True or False, # Whether slate is enabled or not.
-    },
-    "snippet": { # Basic details about a live broadcast, including title, description and thumbnails. # Basic details about the live broadcast.
-      "actualEndTime": "A String", # Date and time the broadcast is actual to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "description": "A String", # Description of the broadcast.
-      "title": "A String", # Title of the broadcast.
-      "channelId": "A String", # Channel publishing the broadcast.
-      "publishedAt": "A String", # Date and time the broadcast was published at. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "scheduledStartTime": "A String", # Date and time the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "actualStartTime": "A String", # Date and time the broadcast is actual to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "scheduledEndTime": "A String", # Date and time the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "thumbnails": { # Video thumbnails.
-        "a_key": { # A thumbnail is an image representing a YouTube resource. # A map of thumbnails by their name.
+        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
           "url": "A String", # The thumbnail image's URL.
           "width": 42, # (Optional) Width of the thumbnail image.
           "height": 42, # (Optional) Height of the thumbnail image.
         },
       },
     },
-    "etag": "A String", # The eTag of the broadcast.
-    "id": "A String", # The unique id of the broadcast.
-  }
+    "etag": "A String", # Etag of this resource.
+    "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
+  }</pre>
+</div>
 
+<div class="method">
+    <code class="details" id="update">update(part=None, body, onBehalfOfContentOwner=None)</code>
+  <pre>Updates a broadcast. For example, you could modify the broadcast settings defined in the liveBroadcast resource's contentDetails object.
+
+Args:
+  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
+
+The part properties that you can include in the parameter value are id, snippet, contentDetails, and status.
+
+Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. For example, a broadcast's privacy status is defined in the status part. As such, if your request is updating a private or unlisted broadcast, and the request's part parameter value includes the status part, the broadcast's privacy setting will be updated to whatever value the request body specifies. If the request body does not specify a value, the existing privacy setting will be removed and the broadcast will revert to the default privacy setting. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
+  "status": { # The status object contains information about the event's status.
+    "recordingStatus": "A String", # The broadcast's recording status.
+    "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
+    "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
+  },
+  "kind": "youtube#liveBroadcast", # The kind, fixed to "youtube#liveBroadcast".
+  "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
+    "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
+    "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
+    "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
+    "enableClosedCaptions": True or False, # This setting indicates whether closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API.
+    "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
+    "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
+        #
+        #
+        #
+        # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
+    "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
+        #
+        #
+        #
+        # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
+    "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
+      "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
+      "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
+      "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
+          #
+          # You need to set this value to true if you intend to have a broadcast delay for your event.
+          #
+          # Note: This property cannot be updated once the broadcast is in the testing or live state.
+    },
+  },
+  "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
+    "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+    "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
+    "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
+    "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
+    "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+    "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+    "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+    "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+    "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+      "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+        "url": "A String", # The thumbnail image's URL.
+        "width": 42, # (Optional) Width of the thumbnail image.
+        "height": 42, # (Optional) Height of the thumbnail image.
+      },
+      "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+        "url": "A String", # The thumbnail image's URL.
+        "width": 42, # (Optional) Width of the thumbnail image.
+        "height": 42, # (Optional) Height of the thumbnail image.
+      },
+      "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+        "url": "A String", # The thumbnail image's URL.
+        "width": 42, # (Optional) Width of the thumbnail image.
+        "height": 42, # (Optional) Height of the thumbnail image.
+      },
+      "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+        "url": "A String", # The thumbnail image's URL.
+        "width": 42, # (Optional) Width of the thumbnail image.
+        "height": 42, # (Optional) Height of the thumbnail image.
+      },
+      "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
+        "url": "A String", # The thumbnail image's URL.
+        "width": 42, # (Optional) Width of the thumbnail image.
+        "height": 42, # (Optional) Height of the thumbnail image.
+      },
+    },
+  },
+  "etag": "A String", # Etag of this resource.
+  "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
+}
+
+  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
 
 Returns:
   An object of the form:
 
-    { # A live broadcast describes live event configuration.
-      "status": { # The status of a live broadcast. # The status of the live broadcast.
-        "privacyStatus": "A String", # Privacy settings of the live broadcast. Allowed values: private, unlisted, public.
-        "lifeCycleStatus": "A String", # Life status of the live broadcast.
+    { # A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.
+    "status": { # The status object contains information about the event's status.
+      "recordingStatus": "A String", # The broadcast's recording status.
+      "privacyStatus": "A String", # The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
+      "lifeCycleStatus": "A String", # The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
+    },
+    "kind": "youtube#liveBroadcast", # The kind, fixed to "youtube#liveBroadcast".
+    "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
+      "startWithSlate": True or False, # This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
+      "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast.
+      "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
+      "enableClosedCaptions": True or False, # This setting indicates whether closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API.
+      "enableContentEncryption": True or False, # This setting indicates whether YouTube should enable content encryption for the broadcast.
+      "recordFromStart": True or False, # Automatically start recording after the event goes live. The default value for this property is true.
+          #
+          #
+          #
+          # Important: You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
+      "enableDvr": True or False, # This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true.
+          #
+          #
+          #
+          # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
+      "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.
+        "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
+        "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream.
+        "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints.
+            #
+            # You need to set this value to true if you intend to have a broadcast delay for your event.
+            #
+            # Note: This property cannot be updated once the broadcast is in the testing or live state.
       },
-      "kind": "youtube#liveBroadcast", # The type of this API resource.
-      "contentDetails": { # Slate settings of a broadcast. # The content details of the live broadcast.
-        "enableArchive": True or False, # Whether the live event will be archived or not.
-        "boundStreamId": "A String", # The id of the stream bound to the broadcast.
-        "startWithSlateCuepoint": True or False, # Automatically start with a slate cuepoint.
-        "enableEmbed": True or False, # Whether to allow the broadcast to be played in an embedded player.
-        "enableContentEncryption": True or False, # Whether to enable or disable content encryption.
-        "enableDvr": True or False, # Whether the dvr (digital video recording) is enabled or not.
-        "monitorStream": { # Information about the monitor stream which helps the broadcaster to review the event content before shown to the public.
-          "broadcastStreamDelayMs": 42, # If enableMonitorStream is true, the public broadcast will be delayed by this value.
-          "embedHtml": "A String", # The html code of the embedded player for the monitor stream.
-          "enableMonitorStream": True or False, # Whether to enable the monitor stream for the broadcast.
+    },
+    "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time.
+      "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "description": "A String", # The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
+      "title": "A String", # The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
+      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
+      "publishedAt": "A String", # The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "scheduledStartTime": "A String", # The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "actualStartTime": "A String", # The date and time that the broadcast actually started. This information is only available once the broadcast's state is live. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "scheduledEndTime": "A String", # The date and time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
         },
       },
-      "slateSettings": { # Slate settings of a broadcast. # The slate settings of the live broadcast.
-        "slates": { # Broadcast slates.
-          "a_key": { # Locale code indicating in which region should the slate be displayed.
-            "backgroundUrl": "A String", # Url of the background image.
-            "textLines": [ # Multi-line message showing in the slate.
-              "A String",
-            ],
-          },
-        },
-        "enableSlates": True or False, # Whether slate is enabled or not.
-      },
-      "snippet": { # Basic details about a live broadcast, including title, description and thumbnails. # Basic details about the live broadcast.
-        "actualEndTime": "A String", # Date and time the broadcast is actual to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "description": "A String", # Description of the broadcast.
-        "title": "A String", # Title of the broadcast.
-        "channelId": "A String", # Channel publishing the broadcast.
-        "publishedAt": "A String", # Date and time the broadcast was published at. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "scheduledStartTime": "A String", # Date and time the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "actualStartTime": "A String", # Date and time the broadcast is actual to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "scheduledEndTime": "A String", # Date and time the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "thumbnails": { # Video thumbnails.
-          "a_key": { # A thumbnail is an image representing a YouTube resource. # A map of thumbnails by their name.
-            "url": "A String", # The thumbnail image's URL.
-            "width": 42, # (Optional) Width of the thumbnail image.
-            "height": 42, # (Optional) Height of the thumbnail image.
-          },
-        },
-      },
-      "etag": "A String", # The eTag of the broadcast.
-      "id": "A String", # The unique id of the broadcast.
-    }</pre>
+    },
+    "etag": "A String", # Etag of this resource.
+    "id": "A String", # The ID that YouTube assigns to uniquely identify the broadcast.
+  }</pre>
 </div>
 
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.liveStreams.html b/docs/dyn/youtube_v3.liveStreams.html
index d41af60..245f0fa 100644
--- a/docs/dyn/youtube_v3.liveStreams.html
+++ b/docs/dyn/youtube_v3.liveStreams.html
@@ -76,23 +76,23 @@
 <h2>Instance Methods</h2>
 <p class="toc_element">
   <code><a href="#delete">delete(id)</a></code></p>
-<p class="firstline">Delete a live stream.</p>
+<p class="firstline">Deletes a video stream.</p>
 <p class="toc_element">
-  <code><a href="#insert">insert(part, body)</a></code></p>
-<p class="firstline">Insert a YouTube live stream.</p>
+  <code><a href="#insert">insert(part=None, body)</a></code></p>
+<p class="firstline">Creates a video stream. The stream enables you to send your video to YouTube, which can then broadcast the video to your audience.</p>
 <p class="toc_element">
-  <code><a href="#list">list(part, onBehalfOf=None, pageToken=None, maxResults=None, mine=None, id=None)</a></code></p>
-<p class="firstline">Browse the YouTube live stream collection.</p>
+  <code><a href="#list">list(part, pageToken=None, mine=None, maxResults=None, id=None)</a></code></p>
+<p class="firstline">Returns a list of video streams that match the API request parameters.</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(part=None, body)</a></code></p>
-<p class="firstline">Update a YouTube live stream.</p>
+<p class="firstline">Updates a video stream. If the properties that you want to change cannot be updated, then you need to create a new stream with the proper settings.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="delete">delete(id)</code>
-  <pre>Delete a live stream.
+  <pre>Deletes a video stream.
 
 Args:
   id: string, The id parameter specifies the YouTube live stream ID for the resource that is being deleted. (required)
@@ -100,39 +100,45 @@
 </div>
 
 <div class="method">
-    <code class="details" id="insert">insert(part, body)</code>
-  <pre>Insert a YouTube live stream.
+    <code class="details" id="insert">insert(part=None, body)</code>
+  <pre>Creates a video stream. The stream enables you to send your video to YouTube, which can then broadcast the video to your audience.
 
 Args:
-  part: string, Live stream parts to include in the returned response. Valid values are: id, snippet, cdn, status. (required)
+  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
+
+The part properties that you can include in the parameter value are id, snippet, cdn, and status. (required)
   body: object, The request body. (required)
     The object takes the form of:
 
 { # A live stream describes a live ingestion point.
-    "status": { # Brief description of the live stream status. # Status of the live stream.
-      "streamStatus": "A String", # The status of the stream.
+    "status": { # Brief description of the live stream status. # The status object contains information about live stream's status.
+      "streamStatus": "A String",
     },
-    "kind": "youtube#liveStream", # The type of this API resource.
-    "cdn": { # Brief description of the live stream cdn settings. # Cdn settings of the live stream.
-      "ingestionType": "A String", # The live stream ingestion type. Allowed values: rtmp, http, multicast.
-      "ingestionInfo": { # Brief description of the live stream cdn settings. # Encapsulates information for ingesting an RTMP or an HTTP stream.
-        "backupIngestionAddress": "A String", # The backup address of the inbound data.
-        "streamName": "A String", # Ingestion stream name.
-        "ingestionAddress": "A String", # The address of the inbound data.
+    "kind": "youtube#liveStream", # The kind, fixed to "youtube#liveStream".
+    "contentDetails": { # Detailed settings of a stream. # The content_details object contains information about the stream, including the closed captions ingestion URL.
+      "closedCaptionsIngestionUrl": "A String", # The ingestion URL where the closed captions of this stream are sent.
+    },
+    "cdn": { # Brief description of the live stream cdn settings. # The cdn object defines the live stream's content delivery network (CDN) settings. These settings provide details about the manner in which you stream your content to YouTube.
+      "ingestionType": "A String", # The method or protocol used to transmit the video stream.
+      "ingestionInfo": { # Describes information necessary for ingesting an RTMP or an HTTP stream. # The ingestionInfo object contains information that YouTube provides that you need to transmit your RTMP or HTTP stream to YouTube.
+        "backupIngestionAddress": "A String", # The backup ingestion URL that you should use to stream video to YouTube. You have the option of simultaneously streaming the content that you are sending to the ingestionAddress to this URL.
+        "streamName": "A String", # The HTTP or RTMP stream name that YouTube assigns to the video stream.
+        "ingestionAddress": "A String", # The primary ingestion URL that you should use to stream video to YouTube. You must stream video to this URL.
+            #
+            # Depending on which application or tool you use to encode your video stream, you may need to enter the stream URL and stream name separately or you may need to concatenate them in the following format:
+            #
+            # STREAM_URL/STREAM_NAME
       },
-      "multicastIngestionInfo": { # Brief description of the live stream cdn settings. # Encapsulates information for ingesting a multicast stream.
-        "multicastAddress": "A String", # The IP address of the multicast data.
-      },
-      "format": "A String", # The format of the inbound data. Allowed values: 240p, 360p, 480p, 720p, 1080p, webm_360p, multicast_qcif, multicast_240p, multicast_360p, multicast_480p, multicast_720p, multicast_1080p.
+      "format": "A String", # The format of the video stream that you are sending to Youtube.
     },
-    "snippet": { # Basic details about a live stream, including title and description. # Basic details about the live stream.
-      "channelId": "A String", # Channel publishing the live stream.
-      "description": "A String", # Description of the live stream.
-      "publishedAt": "A String", # Date and time the live stream was published at.
-      "title": "A String", # Title of the live stream.
+    "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description.
+      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is transmitting the stream.
+      "description": "A String", # The stream's description. The value cannot be longer than 10000 characters.
+      "publishedAt": "A String", # The date and time that the stream was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "title": "A String", # The stream's title. The value must be between 1 and 128 characters long.
     },
-    "etag": "A String", # The eTag of the stream.
-    "id": "A String", # The unique id of the stream.
+    "etag": "A String", # Etag of this resource.
+    "id": "A String", # The ID that YouTube assigns to uniquely identify the stream.
   }
 
 
@@ -140,82 +146,91 @@
   An object of the form:
 
     { # A live stream describes a live ingestion point.
-      "status": { # Brief description of the live stream status. # Status of the live stream.
-        "streamStatus": "A String", # The status of the stream.
+      "status": { # Brief description of the live stream status. # The status object contains information about live stream's status.
+        "streamStatus": "A String",
       },
-      "kind": "youtube#liveStream", # The type of this API resource.
-      "cdn": { # Brief description of the live stream cdn settings. # Cdn settings of the live stream.
-        "ingestionType": "A String", # The live stream ingestion type. Allowed values: rtmp, http, multicast.
-        "ingestionInfo": { # Brief description of the live stream cdn settings. # Encapsulates information for ingesting an RTMP or an HTTP stream.
-          "backupIngestionAddress": "A String", # The backup address of the inbound data.
-          "streamName": "A String", # Ingestion stream name.
-          "ingestionAddress": "A String", # The address of the inbound data.
+      "kind": "youtube#liveStream", # The kind, fixed to "youtube#liveStream".
+      "contentDetails": { # Detailed settings of a stream. # The content_details object contains information about the stream, including the closed captions ingestion URL.
+        "closedCaptionsIngestionUrl": "A String", # The ingestion URL where the closed captions of this stream are sent.
+      },
+      "cdn": { # Brief description of the live stream cdn settings. # The cdn object defines the live stream's content delivery network (CDN) settings. These settings provide details about the manner in which you stream your content to YouTube.
+        "ingestionType": "A String", # The method or protocol used to transmit the video stream.
+        "ingestionInfo": { # Describes information necessary for ingesting an RTMP or an HTTP stream. # The ingestionInfo object contains information that YouTube provides that you need to transmit your RTMP or HTTP stream to YouTube.
+          "backupIngestionAddress": "A String", # The backup ingestion URL that you should use to stream video to YouTube. You have the option of simultaneously streaming the content that you are sending to the ingestionAddress to this URL.
+          "streamName": "A String", # The HTTP or RTMP stream name that YouTube assigns to the video stream.
+          "ingestionAddress": "A String", # The primary ingestion URL that you should use to stream video to YouTube. You must stream video to this URL.
+              #
+              # Depending on which application or tool you use to encode your video stream, you may need to enter the stream URL and stream name separately or you may need to concatenate them in the following format:
+              #
+              # STREAM_URL/STREAM_NAME
         },
-        "multicastIngestionInfo": { # Brief description of the live stream cdn settings. # Encapsulates information for ingesting a multicast stream.
-          "multicastAddress": "A String", # The IP address of the multicast data.
-        },
-        "format": "A String", # The format of the inbound data. Allowed values: 240p, 360p, 480p, 720p, 1080p, webm_360p, multicast_qcif, multicast_240p, multicast_360p, multicast_480p, multicast_720p, multicast_1080p.
+        "format": "A String", # The format of the video stream that you are sending to Youtube.
       },
-      "snippet": { # Basic details about a live stream, including title and description. # Basic details about the live stream.
-        "channelId": "A String", # Channel publishing the live stream.
-        "description": "A String", # Description of the live stream.
-        "publishedAt": "A String", # Date and time the live stream was published at.
-        "title": "A String", # Title of the live stream.
+      "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description.
+        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is transmitting the stream.
+        "description": "A String", # The stream's description. The value cannot be longer than 10000 characters.
+        "publishedAt": "A String", # The date and time that the stream was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+        "title": "A String", # The stream's title. The value must be between 1 and 128 characters long.
       },
-      "etag": "A String", # The eTag of the stream.
-      "id": "A String", # The unique id of the stream.
+      "etag": "A String", # Etag of this resource.
+      "id": "A String", # The ID that YouTube assigns to uniquely identify the stream.
     }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(part, onBehalfOf=None, pageToken=None, maxResults=None, mine=None, id=None)</code>
-  <pre>Browse the YouTube live stream collection.
+    <code class="details" id="list">list(part, pageToken=None, mine=None, maxResults=None, id=None)</code>
+  <pre>Returns a list of video streams that match the API request parameters.
 
 Args:
-  part: string, Live stream parts to include in the returned response. Valid values are: id, snippet, cdn, status. (required)
-  onBehalfOf: string, ID of the Google+ Page for the channel that the request is to be on behalf of
-  pageToken: string, Token for the page selection.
-  maxResults: integer, Maximum number of results to return
-  mine: boolean, Filter to only live streams owned by authenticated user.
-  id: string, IDs of the live streams to be returned.
+  part: string, The part parameter specifies a comma-separated list of one or more liveStream resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, cdn, and status. (required)
+  pageToken: string, The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
+  mine: boolean, The mine parameter can be used to instruct the API to only return streams owned by the authenticated user. Set the parameter value to true to only retrieve your own streams.
+  maxResults: integer, The maxResults parameter specifies the maximum number of items that should be returned in the result set. Acceptable values are 0 to 50, inclusive. The default value is 5.
+  id: string, The id parameter specifies a comma-separated list of YouTube stream IDs that identify the streams being retrieved. In a liveStream resource, the id property specifies the stream's ID.
 
 Returns:
   An object of the form:
 
     { # List of live streams.
-    "nextPageToken": "A String", # The token that can be used as the value of the {@code pageInfo} parameter to retrieve the next page in the result set.
-    "kind": "youtube#liveStreamList", # The type of this API resource.
+    "eventId": "A String", # Serialized EventId of the request which produced this response.
+    "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.
+    "kind": "youtube#liveStreamList", # The type of the API response. For this operation, the value will be youtube#liveStreamList.
+    "visitorId": "A String", # The visitorId identifies the visitor.
     "items": [ # A list of live streams that match the request criteria.
       { # A live stream describes a live ingestion point.
-          "status": { # Brief description of the live stream status. # Status of the live stream.
-            "streamStatus": "A String", # The status of the stream.
+          "status": { # Brief description of the live stream status. # The status object contains information about live stream's status.
+            "streamStatus": "A String",
           },
-          "kind": "youtube#liveStream", # The type of this API resource.
-          "cdn": { # Brief description of the live stream cdn settings. # Cdn settings of the live stream.
-            "ingestionType": "A String", # The live stream ingestion type. Allowed values: rtmp, http, multicast.
-            "ingestionInfo": { # Brief description of the live stream cdn settings. # Encapsulates information for ingesting an RTMP or an HTTP stream.
-              "backupIngestionAddress": "A String", # The backup address of the inbound data.
-              "streamName": "A String", # Ingestion stream name.
-              "ingestionAddress": "A String", # The address of the inbound data.
+          "kind": "youtube#liveStream", # The kind, fixed to "youtube#liveStream".
+          "contentDetails": { # Detailed settings of a stream. # The content_details object contains information about the stream, including the closed captions ingestion URL.
+            "closedCaptionsIngestionUrl": "A String", # The ingestion URL where the closed captions of this stream are sent.
+          },
+          "cdn": { # Brief description of the live stream cdn settings. # The cdn object defines the live stream's content delivery network (CDN) settings. These settings provide details about the manner in which you stream your content to YouTube.
+            "ingestionType": "A String", # The method or protocol used to transmit the video stream.
+            "ingestionInfo": { # Describes information necessary for ingesting an RTMP or an HTTP stream. # The ingestionInfo object contains information that YouTube provides that you need to transmit your RTMP or HTTP stream to YouTube.
+              "backupIngestionAddress": "A String", # The backup ingestion URL that you should use to stream video to YouTube. You have the option of simultaneously streaming the content that you are sending to the ingestionAddress to this URL.
+              "streamName": "A String", # The HTTP or RTMP stream name that YouTube assigns to the video stream.
+              "ingestionAddress": "A String", # The primary ingestion URL that you should use to stream video to YouTube. You must stream video to this URL.
+                  #
+                  # Depending on which application or tool you use to encode your video stream, you may need to enter the stream URL and stream name separately or you may need to concatenate them in the following format:
+                  #
+                  # STREAM_URL/STREAM_NAME
             },
-            "multicastIngestionInfo": { # Brief description of the live stream cdn settings. # Encapsulates information for ingesting a multicast stream.
-              "multicastAddress": "A String", # The IP address of the multicast data.
-            },
-            "format": "A String", # The format of the inbound data. Allowed values: 240p, 360p, 480p, 720p, 1080p, webm_360p, multicast_qcif, multicast_240p, multicast_360p, multicast_480p, multicast_720p, multicast_1080p.
+            "format": "A String", # The format of the video stream that you are sending to Youtube.
           },
-          "snippet": { # Basic details about a live stream, including title and description. # Basic details about the live stream.
-            "channelId": "A String", # Channel publishing the live stream.
-            "description": "A String", # Description of the live stream.
-            "publishedAt": "A String", # Date and time the live stream was published at.
-            "title": "A String", # Title of the live stream.
+          "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description.
+            "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is transmitting the stream.
+            "description": "A String", # The stream's description. The value cannot be longer than 10000 characters.
+            "publishedAt": "A String", # The date and time that the stream was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+            "title": "A String", # The stream's title. The value must be between 1 and 128 characters long.
           },
-          "etag": "A String", # The eTag of the stream.
-          "id": "A String", # The unique id of the stream.
+          "etag": "A String", # Etag of this resource.
+          "id": "A String", # The ID that YouTube assigns to uniquely identify the stream.
         },
     ],
-    "etag": "A String", # The eTag of the chart.
-    "prevPageToken": "A String", # The token that can be used as the value of the {@code pageInfo} parameter to retrieve the previous page in the result set.
-    "pageInfo": { # Paging details for lists of resources, including total number of items available and number of resources returned in a single page. # The {@code pageInfo} object encapsulates paging information for the result set.
+    "etag": "A String", # The ETag of the response.
+    "prevPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
+    "pageInfo": { # Paging details for lists of resources, including total number of items available and number of resources returned in a single page. # The pageInfo object encapsulates paging information for the result set.
       "totalResults": 42, # The total number of results in the result set.
       "resultsPerPage": 42, # The number of results included in the API response.
     },
@@ -238,40 +253,46 @@
 
 <div class="method">
     <code class="details" id="update">update(part=None, body)</code>
-  <pre>Update a YouTube live stream.
+  <pre>Updates a video stream. If the properties that you want to change cannot be updated, then you need to create a new stream with the proper settings.
 
 Args:
   part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.
 
-The part names that you can include in the parameter value are id, snippet, cdn, status. (required)
+The part properties that you can include in the parameter value are id, snippet, cdn, and status.
+
+Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. If the request body does not specify a value for a mutable property, the existing value for that property will be removed. (required)
   body: object, The request body. (required)
     The object takes the form of:
 
 { # A live stream describes a live ingestion point.
-    "status": { # Brief description of the live stream status. # Status of the live stream.
-      "streamStatus": "A String", # The status of the stream.
+    "status": { # Brief description of the live stream status. # The status object contains information about live stream's status.
+      "streamStatus": "A String",
     },
-    "kind": "youtube#liveStream", # The type of this API resource.
-    "cdn": { # Brief description of the live stream cdn settings. # Cdn settings of the live stream.
-      "ingestionType": "A String", # The live stream ingestion type. Allowed values: rtmp, http, multicast.
-      "ingestionInfo": { # Brief description of the live stream cdn settings. # Encapsulates information for ingesting an RTMP or an HTTP stream.
-        "backupIngestionAddress": "A String", # The backup address of the inbound data.
-        "streamName": "A String", # Ingestion stream name.
-        "ingestionAddress": "A String", # The address of the inbound data.
+    "kind": "youtube#liveStream", # The kind, fixed to "youtube#liveStream".
+    "contentDetails": { # Detailed settings of a stream. # The content_details object contains information about the stream, including the closed captions ingestion URL.
+      "closedCaptionsIngestionUrl": "A String", # The ingestion URL where the closed captions of this stream are sent.
+    },
+    "cdn": { # Brief description of the live stream cdn settings. # The cdn object defines the live stream's content delivery network (CDN) settings. These settings provide details about the manner in which you stream your content to YouTube.
+      "ingestionType": "A String", # The method or protocol used to transmit the video stream.
+      "ingestionInfo": { # Describes information necessary for ingesting an RTMP or an HTTP stream. # The ingestionInfo object contains information that YouTube provides that you need to transmit your RTMP or HTTP stream to YouTube.
+        "backupIngestionAddress": "A String", # The backup ingestion URL that you should use to stream video to YouTube. You have the option of simultaneously streaming the content that you are sending to the ingestionAddress to this URL.
+        "streamName": "A String", # The HTTP or RTMP stream name that YouTube assigns to the video stream.
+        "ingestionAddress": "A String", # The primary ingestion URL that you should use to stream video to YouTube. You must stream video to this URL.
+            #
+            # Depending on which application or tool you use to encode your video stream, you may need to enter the stream URL and stream name separately or you may need to concatenate them in the following format:
+            #
+            # STREAM_URL/STREAM_NAME
       },
-      "multicastIngestionInfo": { # Brief description of the live stream cdn settings. # Encapsulates information for ingesting a multicast stream.
-        "multicastAddress": "A String", # The IP address of the multicast data.
-      },
-      "format": "A String", # The format of the inbound data. Allowed values: 240p, 360p, 480p, 720p, 1080p, webm_360p, multicast_qcif, multicast_240p, multicast_360p, multicast_480p, multicast_720p, multicast_1080p.
+      "format": "A String", # The format of the video stream that you are sending to Youtube.
     },
-    "snippet": { # Basic details about a live stream, including title and description. # Basic details about the live stream.
-      "channelId": "A String", # Channel publishing the live stream.
-      "description": "A String", # Description of the live stream.
-      "publishedAt": "A String", # Date and time the live stream was published at.
-      "title": "A String", # Title of the live stream.
+    "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description.
+      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is transmitting the stream.
+      "description": "A String", # The stream's description. The value cannot be longer than 10000 characters.
+      "publishedAt": "A String", # The date and time that the stream was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "title": "A String", # The stream's title. The value must be between 1 and 128 characters long.
     },
-    "etag": "A String", # The eTag of the stream.
-    "id": "A String", # The unique id of the stream.
+    "etag": "A String", # Etag of this resource.
+    "id": "A String", # The ID that YouTube assigns to uniquely identify the stream.
   }
 
 
@@ -279,30 +300,34 @@
   An object of the form:
 
     { # A live stream describes a live ingestion point.
-      "status": { # Brief description of the live stream status. # Status of the live stream.
-        "streamStatus": "A String", # The status of the stream.
+      "status": { # Brief description of the live stream status. # The status object contains information about live stream's status.
+        "streamStatus": "A String",
       },
-      "kind": "youtube#liveStream", # The type of this API resource.
-      "cdn": { # Brief description of the live stream cdn settings. # Cdn settings of the live stream.
-        "ingestionType": "A String", # The live stream ingestion type. Allowed values: rtmp, http, multicast.
-        "ingestionInfo": { # Brief description of the live stream cdn settings. # Encapsulates information for ingesting an RTMP or an HTTP stream.
-          "backupIngestionAddress": "A String", # The backup address of the inbound data.
-          "streamName": "A String", # Ingestion stream name.
-          "ingestionAddress": "A String", # The address of the inbound data.
+      "kind": "youtube#liveStream", # The kind, fixed to "youtube#liveStream".
+      "contentDetails": { # Detailed settings of a stream. # The content_details object contains information about the stream, including the closed captions ingestion URL.
+        "closedCaptionsIngestionUrl": "A String", # The ingestion URL where the closed captions of this stream are sent.
+      },
+      "cdn": { # Brief description of the live stream cdn settings. # The cdn object defines the live stream's content delivery network (CDN) settings. These settings provide details about the manner in which you stream your content to YouTube.
+        "ingestionType": "A String", # The method or protocol used to transmit the video stream.
+        "ingestionInfo": { # Describes information necessary for ingesting an RTMP or an HTTP stream. # The ingestionInfo object contains information that YouTube provides that you need to transmit your RTMP or HTTP stream to YouTube.
+          "backupIngestionAddress": "A String", # The backup ingestion URL that you should use to stream video to YouTube. You have the option of simultaneously streaming the content that you are sending to the ingestionAddress to this URL.
+          "streamName": "A String", # The HTTP or RTMP stream name that YouTube assigns to the video stream.
+          "ingestionAddress": "A String", # The primary ingestion URL that you should use to stream video to YouTube. You must stream video to this URL.
+              #
+              # Depending on which application or tool you use to encode your video stream, you may need to enter the stream URL and stream name separately or you may need to concatenate them in the following format:
+              #
+              # STREAM_URL/STREAM_NAME
         },
-        "multicastIngestionInfo": { # Brief description of the live stream cdn settings. # Encapsulates information for ingesting a multicast stream.
-          "multicastAddress": "A String", # The IP address of the multicast data.
-        },
-        "format": "A String", # The format of the inbound data. Allowed values: 240p, 360p, 480p, 720p, 1080p, webm_360p, multicast_qcif, multicast_240p, multicast_360p, multicast_480p, multicast_720p, multicast_1080p.
+        "format": "A String", # The format of the video stream that you are sending to Youtube.
       },
-      "snippet": { # Basic details about a live stream, including title and description. # Basic details about the live stream.
-        "channelId": "A String", # Channel publishing the live stream.
-        "description": "A String", # Description of the live stream.
-        "publishedAt": "A String", # Date and time the live stream was published at.
-        "title": "A String", # Title of the live stream.
+      "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description.
+        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that is transmitting the stream.
+        "description": "A String", # The stream's description. The value cannot be longer than 10000 characters.
+        "publishedAt": "A String", # The date and time that the stream was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+        "title": "A String", # The stream's title. The value must be between 1 and 128 characters long.
       },
-      "etag": "A String", # The eTag of the stream.
-      "id": "A String", # The unique id of the stream.
+      "etag": "A String", # Etag of this resource.
+      "id": "A String", # The ID that YouTube assigns to uniquely identify the stream.
     }</pre>
 </div>
 
diff --git a/docs/dyn/youtube_v3.playlistItems.html b/docs/dyn/youtube_v3.playlistItems.html
index cbb3f9e..5a81b92 100644
--- a/docs/dyn/youtube_v3.playlistItems.html
+++ b/docs/dyn/youtube_v3.playlistItems.html
@@ -110,7 +110,7 @@
   body: object, The request body. (required)
     The object takes the form of:
 
-{ # A playlistItem resource identifies another resource, such as a video, that is included in a playlist. In addition, the playlistItem resource contains details about the included resource that pertain specifically to how that resource is used in that playlist.
+{ # A playlistItem resource identifies another resource, such as a video, that is included in a playlist. In addition, the playlistItem  resource contains details about the included resource that pertain specifically to how that resource is used in that playlist.
       # 
       # YouTube uses playlists to identify special collections of videos for a channel, such as:
       # - uploaded videos
@@ -119,36 +119,60 @@
       # - watch history
       # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information.
       # 
-      # You can retrieve the playlist IDs for each of these lists from the channel resource for a given channel. You can then use the playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the playlistItems.insert and playlistItems.delete methods. For example, if a user gives a positive rating to a video, you would insert that video into the liked videos playlist for that user's channel.
-    "snippet": { # Basic details about an item included in a playlist, including title, description, thumbnails, playlist the item is part of and position of the item inside the playlist. # The snippet object contains basic details about the playlist item, such as its title and position in the playlist.
+      # You can retrieve the playlist IDs for each of these lists from the  channel resource  for a given channel. You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods. For example, if a user gives a positive rating to a video, you would insert that video into the liked videos playlist for that user's channel.
+    "status": { # Information about the playlist item's privacy status. # The status object contains information about the playlist item's privacy status.
+      "privacyStatus": "A String", # This resource's privacy status.
+    },
+    "kind": "youtube#playlistItem", # The kind, fixed to "youtube#playlistItem".
+    "contentDetails": { # The contentDetails object is included in the resource if the included item is a YouTube video. The object contains additional information about the video.
+      "note": "A String", # A user-generated note for this item.
+      "startAt": "A String", # The time, measured in seconds from the start of the video, when the video should start playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) The default value is 0.
+      "endAt": "A String", # The time, measured in seconds from the start of the video, when the video should stop playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) By default, assume that the video.endTime is the end of the video.
+      "videoId": "A String", # The ID that YouTube uses to uniquely identify a video. To retrieve the video resource, set the id query parameter to this value in your API request.
+    },
+    "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist item, such as its title and position in the playlist.
       "playlistId": "A String", # The ID that YouTube uses to uniquely identify the playlist that the playlist item is in.
       "description": "A String", # The item's description.
       "title": "A String", # The item's title.
       "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information that can be used to uniquely identify the resource that is included in the playlist as the playlist item.
-        "kind": "A String", # The kind, or type, of the referred resource.
+        "kind": "A String", # The type of the API resource.
         "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
         "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
         "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
       },
       "channelId": "A String", # The ID that YouTube uses to uniquely identify the user that added the item to the playlist.
       "publishedAt": "A String", # The date and time that the item was added to the playlist. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "channelTitle": "A String", # Channel title for the channel that the playlist item belongs to.
       "position": 42, # The order in which the item appears in the playlist. The value uses a zero-based index, so the first item has a position of 0, the second item has a position of 1, and so forth.
-      "thumbnails": { # A map of thumbnail images associated with the playlist item. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "a_key": { # A thumbnail is an image representing a YouTube resource. # The thumbnail image's name. This value is used as the key in the snippet.thumbnails map.
+      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist item. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
           "url": "A String", # The thumbnail image's URL.
           "width": 42, # (Optional) Width of the thumbnail image.
           "height": 42, # (Optional) Height of the thumbnail image.
         },
       },
     },
-    "contentDetails": { # Details about the content of a playlist item, such as the video or the video fragment start and end time included in the playlist. # The contentDetails object is included in the resource if the included item is a YouTube video. The object contains additional information about the video.
-      "note": "A String", # A user-generated note for this item.
-      "startAt": "A String", # The time, measured in seconds from the start of the video, when the video should start playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) The default value is 0.
-      "endAt": "A String", # The time, measured in seconds from the start of the video, when the video should stop playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) By default, assume that the video.endTime is the end of the video.
-      "videoId": "A String", # The ID that YouTube uses to uniquely identify a video. To retrieve the video resource, set the id query parameter to this value in your API request.
-    },
-    "kind": "youtube#playlistItem", # The type of the API resource. For playlist item resources, the value will be youtube#playlistItem.
-    "etag": "A String", # The ETag for the playlist item resource.
+    "etag": "A String", # Etag of this resource.
     "id": "A String", # The ID that YouTube uses to uniquely identify the playlist item.
   }
 
@@ -156,7 +180,7 @@
 Returns:
   An object of the form:
 
-    { # A playlistItem resource identifies another resource, such as a video, that is included in a playlist. In addition, the playlistItem resource contains details about the included resource that pertain specifically to how that resource is used in that playlist.
+    { # A playlistItem resource identifies another resource, such as a video, that is included in a playlist. In addition, the playlistItem  resource contains details about the included resource that pertain specifically to how that resource is used in that playlist.
         #
         # YouTube uses playlists to identify special collections of videos for a channel, such as:
         # - uploaded videos
@@ -165,36 +189,60 @@
         # - watch history
         # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information.
         #
-        # You can retrieve the playlist IDs for each of these lists from the channel resource for a given channel. You can then use the playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the playlistItems.insert and playlistItems.delete methods. For example, if a user gives a positive rating to a video, you would insert that video into the liked videos playlist for that user's channel.
-      "snippet": { # Basic details about an item included in a playlist, including title, description, thumbnails, playlist the item is part of and position of the item inside the playlist. # The snippet object contains basic details about the playlist item, such as its title and position in the playlist.
+        # You can retrieve the playlist IDs for each of these lists from the  channel resource  for a given channel. You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods. For example, if a user gives a positive rating to a video, you would insert that video into the liked videos playlist for that user's channel.
+      "status": { # Information about the playlist item's privacy status. # The status object contains information about the playlist item's privacy status.
+        "privacyStatus": "A String", # This resource's privacy status.
+      },
+      "kind": "youtube#playlistItem", # The kind, fixed to "youtube#playlistItem".
+      "contentDetails": { # The contentDetails object is included in the resource if the included item is a YouTube video. The object contains additional information about the video.
+        "note": "A String", # A user-generated note for this item.
+        "startAt": "A String", # The time, measured in seconds from the start of the video, when the video should start playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) The default value is 0.
+        "endAt": "A String", # The time, measured in seconds from the start of the video, when the video should stop playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) By default, assume that the video.endTime is the end of the video.
+        "videoId": "A String", # The ID that YouTube uses to uniquely identify a video. To retrieve the video resource, set the id query parameter to this value in your API request.
+      },
+      "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist item, such as its title and position in the playlist.
         "playlistId": "A String", # The ID that YouTube uses to uniquely identify the playlist that the playlist item is in.
         "description": "A String", # The item's description.
         "title": "A String", # The item's title.
         "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information that can be used to uniquely identify the resource that is included in the playlist as the playlist item.
-          "kind": "A String", # The kind, or type, of the referred resource.
+          "kind": "A String", # The type of the API resource.
           "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
           "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
           "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
         },
         "channelId": "A String", # The ID that YouTube uses to uniquely identify the user that added the item to the playlist.
         "publishedAt": "A String", # The date and time that the item was added to the playlist. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+        "channelTitle": "A String", # Channel title for the channel that the playlist item belongs to.
         "position": 42, # The order in which the item appears in the playlist. The value uses a zero-based index, so the first item has a position of 0, the second item has a position of 1, and so forth.
-        "thumbnails": { # A map of thumbnail images associated with the playlist item. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-          "a_key": { # A thumbnail is an image representing a YouTube resource. # The thumbnail image's name. This value is used as the key in the snippet.thumbnails map.
+        "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist item. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+          "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
             "url": "A String", # The thumbnail image's URL.
             "width": 42, # (Optional) Width of the thumbnail image.
             "height": 42, # (Optional) Height of the thumbnail image.
           },
         },
       },
-      "contentDetails": { # Details about the content of a playlist item, such as the video or the video fragment start and end time included in the playlist. # The contentDetails object is included in the resource if the included item is a YouTube video. The object contains additional information about the video.
-        "note": "A String", # A user-generated note for this item.
-        "startAt": "A String", # The time, measured in seconds from the start of the video, when the video should start playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) The default value is 0.
-        "endAt": "A String", # The time, measured in seconds from the start of the video, when the video should stop playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) By default, assume that the video.endTime is the end of the video.
-        "videoId": "A String", # The ID that YouTube uses to uniquely identify a video. To retrieve the video resource, set the id query parameter to this value in your API request.
-      },
-      "kind": "youtube#playlistItem", # The type of the API resource. For playlist item resources, the value will be youtube#playlistItem.
-      "etag": "A String", # The ETag for the playlist item resource.
+      "etag": "A String", # Etag of this resource.
       "id": "A String", # The ID that YouTube uses to uniquely identify the playlist item.
     }</pre>
 </div>
@@ -217,10 +265,12 @@
   An object of the form:
 
     { # A paginated list of playlist items returned as the response to a youtube.playlistItems.list call.
+    "eventId": "A String", # Serialized EventId of the request which produced this response.
     "nextPageToken": "A String", # A token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
     "kind": "youtube#playlistItemListResponse", # The type of the API response. For this operation, the value will be youtube#playlistItemListResponse.
+    "visitorId": "A String", # The visitorId identifies the visitor.
     "items": [ # A list of playlist items that match the request criteria.
-      { # A playlistItem resource identifies another resource, such as a video, that is included in a playlist. In addition, the playlistItem resource contains details about the included resource that pertain specifically to how that resource is used in that playlist.
+      { # A playlistItem resource identifies another resource, such as a video, that is included in a playlist. In addition, the playlistItem  resource contains details about the included resource that pertain specifically to how that resource is used in that playlist.
             #
             # YouTube uses playlists to identify special collections of videos for a channel, such as:
             # - uploaded videos
@@ -229,36 +279,60 @@
             # - watch history
             # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information.
             #
-            # You can retrieve the playlist IDs for each of these lists from the channel resource for a given channel. You can then use the playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the playlistItems.insert and playlistItems.delete methods. For example, if a user gives a positive rating to a video, you would insert that video into the liked videos playlist for that user's channel.
-          "snippet": { # Basic details about an item included in a playlist, including title, description, thumbnails, playlist the item is part of and position of the item inside the playlist. # The snippet object contains basic details about the playlist item, such as its title and position in the playlist.
+            # You can retrieve the playlist IDs for each of these lists from the  channel resource  for a given channel. You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods. For example, if a user gives a positive rating to a video, you would insert that video into the liked videos playlist for that user's channel.
+          "status": { # Information about the playlist item's privacy status. # The status object contains information about the playlist item's privacy status.
+            "privacyStatus": "A String", # This resource's privacy status.
+          },
+          "kind": "youtube#playlistItem", # The kind, fixed to "youtube#playlistItem".
+          "contentDetails": { # The contentDetails object is included in the resource if the included item is a YouTube video. The object contains additional information about the video.
+            "note": "A String", # A user-generated note for this item.
+            "startAt": "A String", # The time, measured in seconds from the start of the video, when the video should start playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) The default value is 0.
+            "endAt": "A String", # The time, measured in seconds from the start of the video, when the video should stop playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) By default, assume that the video.endTime is the end of the video.
+            "videoId": "A String", # The ID that YouTube uses to uniquely identify a video. To retrieve the video resource, set the id query parameter to this value in your API request.
+          },
+          "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist item, such as its title and position in the playlist.
             "playlistId": "A String", # The ID that YouTube uses to uniquely identify the playlist that the playlist item is in.
             "description": "A String", # The item's description.
             "title": "A String", # The item's title.
             "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information that can be used to uniquely identify the resource that is included in the playlist as the playlist item.
-              "kind": "A String", # The kind, or type, of the referred resource.
+              "kind": "A String", # The type of the API resource.
               "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
               "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
               "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
             },
             "channelId": "A String", # The ID that YouTube uses to uniquely identify the user that added the item to the playlist.
             "publishedAt": "A String", # The date and time that the item was added to the playlist. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+            "channelTitle": "A String", # Channel title for the channel that the playlist item belongs to.
             "position": 42, # The order in which the item appears in the playlist. The value uses a zero-based index, so the first item has a position of 0, the second item has a position of 1, and so forth.
-            "thumbnails": { # A map of thumbnail images associated with the playlist item. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-              "a_key": { # A thumbnail is an image representing a YouTube resource. # The thumbnail image's name. This value is used as the key in the snippet.thumbnails map.
+            "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist item. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+              "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
                 "url": "A String", # The thumbnail image's URL.
                 "width": 42, # (Optional) Width of the thumbnail image.
                 "height": 42, # (Optional) Height of the thumbnail image.
               },
             },
           },
-          "contentDetails": { # Details about the content of a playlist item, such as the video or the video fragment start and end time included in the playlist. # The contentDetails object is included in the resource if the included item is a YouTube video. The object contains additional information about the video.
-            "note": "A String", # A user-generated note for this item.
-            "startAt": "A String", # The time, measured in seconds from the start of the video, when the video should start playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) The default value is 0.
-            "endAt": "A String", # The time, measured in seconds from the start of the video, when the video should stop playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) By default, assume that the video.endTime is the end of the video.
-            "videoId": "A String", # The ID that YouTube uses to uniquely identify a video. To retrieve the video resource, set the id query parameter to this value in your API request.
-          },
-          "kind": "youtube#playlistItem", # The type of the API resource. For playlist item resources, the value will be youtube#playlistItem.
-          "etag": "A String", # The ETag for the playlist item resource.
+          "etag": "A String", # Etag of this resource.
           "id": "A String", # The ID that YouTube uses to uniquely identify the playlist item.
         },
     ],
@@ -298,7 +372,7 @@
   body: object, The request body. (required)
     The object takes the form of:
 
-{ # A playlistItem resource identifies another resource, such as a video, that is included in a playlist. In addition, the playlistItem resource contains details about the included resource that pertain specifically to how that resource is used in that playlist.
+{ # A playlistItem resource identifies another resource, such as a video, that is included in a playlist. In addition, the playlistItem  resource contains details about the included resource that pertain specifically to how that resource is used in that playlist.
       # 
       # YouTube uses playlists to identify special collections of videos for a channel, such as:
       # - uploaded videos
@@ -307,36 +381,60 @@
       # - watch history
       # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information.
       # 
-      # You can retrieve the playlist IDs for each of these lists from the channel resource for a given channel. You can then use the playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the playlistItems.insert and playlistItems.delete methods. For example, if a user gives a positive rating to a video, you would insert that video into the liked videos playlist for that user's channel.
-    "snippet": { # Basic details about an item included in a playlist, including title, description, thumbnails, playlist the item is part of and position of the item inside the playlist. # The snippet object contains basic details about the playlist item, such as its title and position in the playlist.
+      # You can retrieve the playlist IDs for each of these lists from the  channel resource  for a given channel. You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods. For example, if a user gives a positive rating to a video, you would insert that video into the liked videos playlist for that user's channel.
+    "status": { # Information about the playlist item's privacy status. # The status object contains information about the playlist item's privacy status.
+      "privacyStatus": "A String", # This resource's privacy status.
+    },
+    "kind": "youtube#playlistItem", # The kind, fixed to "youtube#playlistItem".
+    "contentDetails": { # The contentDetails object is included in the resource if the included item is a YouTube video. The object contains additional information about the video.
+      "note": "A String", # A user-generated note for this item.
+      "startAt": "A String", # The time, measured in seconds from the start of the video, when the video should start playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) The default value is 0.
+      "endAt": "A String", # The time, measured in seconds from the start of the video, when the video should stop playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) By default, assume that the video.endTime is the end of the video.
+      "videoId": "A String", # The ID that YouTube uses to uniquely identify a video. To retrieve the video resource, set the id query parameter to this value in your API request.
+    },
+    "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist item, such as its title and position in the playlist.
       "playlistId": "A String", # The ID that YouTube uses to uniquely identify the playlist that the playlist item is in.
       "description": "A String", # The item's description.
       "title": "A String", # The item's title.
       "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information that can be used to uniquely identify the resource that is included in the playlist as the playlist item.
-        "kind": "A String", # The kind, or type, of the referred resource.
+        "kind": "A String", # The type of the API resource.
         "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
         "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
         "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
       },
       "channelId": "A String", # The ID that YouTube uses to uniquely identify the user that added the item to the playlist.
       "publishedAt": "A String", # The date and time that the item was added to the playlist. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "channelTitle": "A String", # Channel title for the channel that the playlist item belongs to.
       "position": 42, # The order in which the item appears in the playlist. The value uses a zero-based index, so the first item has a position of 0, the second item has a position of 1, and so forth.
-      "thumbnails": { # A map of thumbnail images associated with the playlist item. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "a_key": { # A thumbnail is an image representing a YouTube resource. # The thumbnail image's name. This value is used as the key in the snippet.thumbnails map.
+      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist item. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
           "url": "A String", # The thumbnail image's URL.
           "width": 42, # (Optional) Width of the thumbnail image.
           "height": 42, # (Optional) Height of the thumbnail image.
         },
       },
     },
-    "contentDetails": { # Details about the content of a playlist item, such as the video or the video fragment start and end time included in the playlist. # The contentDetails object is included in the resource if the included item is a YouTube video. The object contains additional information about the video.
-      "note": "A String", # A user-generated note for this item.
-      "startAt": "A String", # The time, measured in seconds from the start of the video, when the video should start playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) The default value is 0.
-      "endAt": "A String", # The time, measured in seconds from the start of the video, when the video should stop playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) By default, assume that the video.endTime is the end of the video.
-      "videoId": "A String", # The ID that YouTube uses to uniquely identify a video. To retrieve the video resource, set the id query parameter to this value in your API request.
-    },
-    "kind": "youtube#playlistItem", # The type of the API resource. For playlist item resources, the value will be youtube#playlistItem.
-    "etag": "A String", # The ETag for the playlist item resource.
+    "etag": "A String", # Etag of this resource.
     "id": "A String", # The ID that YouTube uses to uniquely identify the playlist item.
   }
 
@@ -344,7 +442,7 @@
 Returns:
   An object of the form:
 
-    { # A playlistItem resource identifies another resource, such as a video, that is included in a playlist. In addition, the playlistItem resource contains details about the included resource that pertain specifically to how that resource is used in that playlist.
+    { # A playlistItem resource identifies another resource, such as a video, that is included in a playlist. In addition, the playlistItem  resource contains details about the included resource that pertain specifically to how that resource is used in that playlist.
         #
         # YouTube uses playlists to identify special collections of videos for a channel, such as:
         # - uploaded videos
@@ -353,36 +451,60 @@
         # - watch history
         # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information.
         #
-        # You can retrieve the playlist IDs for each of these lists from the channel resource for a given channel. You can then use the playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the playlistItems.insert and playlistItems.delete methods. For example, if a user gives a positive rating to a video, you would insert that video into the liked videos playlist for that user's channel.
-      "snippet": { # Basic details about an item included in a playlist, including title, description, thumbnails, playlist the item is part of and position of the item inside the playlist. # The snippet object contains basic details about the playlist item, such as its title and position in the playlist.
+        # You can retrieve the playlist IDs for each of these lists from the  channel resource  for a given channel. You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods. For example, if a user gives a positive rating to a video, you would insert that video into the liked videos playlist for that user's channel.
+      "status": { # Information about the playlist item's privacy status. # The status object contains information about the playlist item's privacy status.
+        "privacyStatus": "A String", # This resource's privacy status.
+      },
+      "kind": "youtube#playlistItem", # The kind, fixed to "youtube#playlistItem".
+      "contentDetails": { # The contentDetails object is included in the resource if the included item is a YouTube video. The object contains additional information about the video.
+        "note": "A String", # A user-generated note for this item.
+        "startAt": "A String", # The time, measured in seconds from the start of the video, when the video should start playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) The default value is 0.
+        "endAt": "A String", # The time, measured in seconds from the start of the video, when the video should stop playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) By default, assume that the video.endTime is the end of the video.
+        "videoId": "A String", # The ID that YouTube uses to uniquely identify a video. To retrieve the video resource, set the id query parameter to this value in your API request.
+      },
+      "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist item, such as its title and position in the playlist.
         "playlistId": "A String", # The ID that YouTube uses to uniquely identify the playlist that the playlist item is in.
         "description": "A String", # The item's description.
         "title": "A String", # The item's title.
         "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information that can be used to uniquely identify the resource that is included in the playlist as the playlist item.
-          "kind": "A String", # The kind, or type, of the referred resource.
+          "kind": "A String", # The type of the API resource.
           "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
           "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
           "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
         },
         "channelId": "A String", # The ID that YouTube uses to uniquely identify the user that added the item to the playlist.
         "publishedAt": "A String", # The date and time that the item was added to the playlist. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+        "channelTitle": "A String", # Channel title for the channel that the playlist item belongs to.
         "position": 42, # The order in which the item appears in the playlist. The value uses a zero-based index, so the first item has a position of 0, the second item has a position of 1, and so forth.
-        "thumbnails": { # A map of thumbnail images associated with the playlist item. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-          "a_key": { # A thumbnail is an image representing a YouTube resource. # The thumbnail image's name. This value is used as the key in the snippet.thumbnails map.
+        "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist item. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+          "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
             "url": "A String", # The thumbnail image's URL.
             "width": 42, # (Optional) Width of the thumbnail image.
             "height": 42, # (Optional) Height of the thumbnail image.
           },
         },
       },
-      "contentDetails": { # Details about the content of a playlist item, such as the video or the video fragment start and end time included in the playlist. # The contentDetails object is included in the resource if the included item is a YouTube video. The object contains additional information about the video.
-        "note": "A String", # A user-generated note for this item.
-        "startAt": "A String", # The time, measured in seconds from the start of the video, when the video should start playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) The default value is 0.
-        "endAt": "A String", # The time, measured in seconds from the start of the video, when the video should stop playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) By default, assume that the video.endTime is the end of the video.
-        "videoId": "A String", # The ID that YouTube uses to uniquely identify a video. To retrieve the video resource, set the id query parameter to this value in your API request.
-      },
-      "kind": "youtube#playlistItem", # The type of the API resource. For playlist item resources, the value will be youtube#playlistItem.
-      "etag": "A String", # The ETag for the playlist item resource.
+      "etag": "A String", # Etag of this resource.
       "id": "A String", # The ID that YouTube uses to uniquely identify the playlist item.
     }</pre>
 </div>
diff --git a/docs/dyn/youtube_v3.playlists.html b/docs/dyn/youtube_v3.playlists.html
index a0514c5..d30c2a2 100644
--- a/docs/dyn/youtube_v3.playlists.html
+++ b/docs/dyn/youtube_v3.playlists.html
@@ -117,33 +117,57 @@
       # - favorite videos
       # - positively rated (liked) videos
       # - watch history
-      # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the channel resource for a given channel.
+      # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the  channel resource for a given channel.
       # 
-      # You can then use the playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the playlistItems.insert and playlistItems.delete methods.
-    "status": { # The status details of a playlist describes whether the playlist is private. # The status object contains status information for the playlist.
+      # You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods.
+    "status": { # The status object contains status information for the playlist.
       "privacyStatus": "A String", # The playlist's privacy status.
     },
-    "kind": "youtube#playlist", # The type of the API resource. For video resources, the value will be youtube#playlist.
-    "contentDetails": { # Details about the content of a playlist, such as the video count. # The contentDetails object contains information like video count.
+    "kind": "youtube#playlist", # The kind, fixed to "youtube#playlist".
+    "contentDetails": { # The contentDetails object contains information like video count.
       "itemCount": 42, # The number of videos in the playlist.
     },
     "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist, such as its title and description.
-      "title": "A String", # The playlist's title.
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
-      "description": "A String", # The playlist's description.
-      "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "thumbnails": { # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "a_key": { # A thumbnail is an image representing a YouTube resource. # The thumbnail image's name. This value is used as the key in the snippet.thumbnails map.
+      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
           "url": "A String", # The thumbnail image's URL.
           "width": 42, # (Optional) Width of the thumbnail image.
           "height": 42, # (Optional) Height of the thumbnail image.
         },
       },
+      "tags": [ # Keyword tags associated with the playlist.
+        "A String",
+      ],
+      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
+      "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "channelTitle": "A String", # The channel title of the channel that the video belongs to.
+      "title": "A String", # The playlist's title.
+      "description": "A String", # The playlist's description.
     },
-    "player": { # Player to be used for a playlist playback. # The player object contains information that you would use to play the playlist in an embedded player.
+    "player": { # The player object contains information that you would use to play the playlist in an embedded player.
       "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the playlist.
     },
-    "etag": "A String", # The ETag for the playlist resource.
+    "etag": "A String", # Etag of this resource.
     "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
   }
 
@@ -158,33 +182,57 @@
         # - favorite videos
         # - positively rated (liked) videos
         # - watch history
-        # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the channel resource for a given channel.
+        # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the  channel resource for a given channel.
         #
-        # You can then use the playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the playlistItems.insert and playlistItems.delete methods.
-      "status": { # The status details of a playlist describes whether the playlist is private. # The status object contains status information for the playlist.
+        # You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods.
+      "status": { # The status object contains status information for the playlist.
         "privacyStatus": "A String", # The playlist's privacy status.
       },
-      "kind": "youtube#playlist", # The type of the API resource. For video resources, the value will be youtube#playlist.
-      "contentDetails": { # Details about the content of a playlist, such as the video count. # The contentDetails object contains information like video count.
+      "kind": "youtube#playlist", # The kind, fixed to "youtube#playlist".
+      "contentDetails": { # The contentDetails object contains information like video count.
         "itemCount": 42, # The number of videos in the playlist.
       },
       "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist, such as its title and description.
-        "title": "A String", # The playlist's title.
-        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
-        "description": "A String", # The playlist's description.
-        "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "thumbnails": { # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-          "a_key": { # A thumbnail is an image representing a YouTube resource. # The thumbnail image's name. This value is used as the key in the snippet.thumbnails map.
+        "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+          "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
             "url": "A String", # The thumbnail image's URL.
             "width": 42, # (Optional) Width of the thumbnail image.
             "height": 42, # (Optional) Height of the thumbnail image.
           },
         },
+        "tags": [ # Keyword tags associated with the playlist.
+          "A String",
+        ],
+        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
+        "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+        "channelTitle": "A String", # The channel title of the channel that the video belongs to.
+        "title": "A String", # The playlist's title.
+        "description": "A String", # The playlist's description.
       },
-      "player": { # Player to be used for a playlist playback. # The player object contains information that you would use to play the playlist in an embedded player.
+      "player": { # The player object contains information that you would use to play the playlist in an embedded player.
         "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the playlist.
       },
-      "etag": "A String", # The ETag for the playlist resource.
+      "etag": "A String", # Etag of this resource.
       "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
     }</pre>
 </div>
@@ -207,8 +255,10 @@
   An object of the form:
 
     { # A paginated list of playlists returned as the response to a youtube.playlists.list call.
+    "eventId": "A String", # Serialized EventId of the request which produced this response.
     "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.
     "kind": "youtube#playlistListResponse", # The type of the API response. For this operation, the value will be youtube#playlistListResponse.
+    "visitorId": "A String", # The visitorId identifies the visitor.
     "items": [ # A list of playlists that match the request criteria.
       { # A playlist resource represents a YouTube playlist. A playlist is a collection of videos that can be viewed sequentially and shared with other users. A playlist can contain up to 200 videos, and YouTube does not limit the number of playlists that each user creates. By default, playlists are publicly visible to other users, but playlists can be public or private.
             #
@@ -217,33 +267,57 @@
             # - favorite videos
             # - positively rated (liked) videos
             # - watch history
-            # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the channel resource for a given channel.
+            # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the  channel resource for a given channel.
             #
-            # You can then use the playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the playlistItems.insert and playlistItems.delete methods.
-          "status": { # The status details of a playlist describes whether the playlist is private. # The status object contains status information for the playlist.
+            # You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods.
+          "status": { # The status object contains status information for the playlist.
             "privacyStatus": "A String", # The playlist's privacy status.
           },
-          "kind": "youtube#playlist", # The type of the API resource. For video resources, the value will be youtube#playlist.
-          "contentDetails": { # Details about the content of a playlist, such as the video count. # The contentDetails object contains information like video count.
+          "kind": "youtube#playlist", # The kind, fixed to "youtube#playlist".
+          "contentDetails": { # The contentDetails object contains information like video count.
             "itemCount": 42, # The number of videos in the playlist.
           },
           "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist, such as its title and description.
-            "title": "A String", # The playlist's title.
-            "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
-            "description": "A String", # The playlist's description.
-            "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-            "thumbnails": { # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-              "a_key": { # A thumbnail is an image representing a YouTube resource. # The thumbnail image's name. This value is used as the key in the snippet.thumbnails map.
+            "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+              "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
                 "url": "A String", # The thumbnail image's URL.
                 "width": 42, # (Optional) Width of the thumbnail image.
                 "height": 42, # (Optional) Height of the thumbnail image.
               },
             },
+            "tags": [ # Keyword tags associated with the playlist.
+              "A String",
+            ],
+            "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
+            "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+            "channelTitle": "A String", # The channel title of the channel that the video belongs to.
+            "title": "A String", # The playlist's title.
+            "description": "A String", # The playlist's description.
           },
-          "player": { # Player to be used for a playlist playback. # The player object contains information that you would use to play the playlist in an embedded player.
+          "player": { # The player object contains information that you would use to play the playlist in an embedded player.
             "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the playlist.
           },
-          "etag": "A String", # The ETag for the playlist resource.
+          "etag": "A String", # Etag of this resource.
           "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
         },
     ],
@@ -290,33 +364,57 @@
       # - favorite videos
       # - positively rated (liked) videos
       # - watch history
-      # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the channel resource for a given channel.
+      # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the  channel resource for a given channel.
       # 
-      # You can then use the playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the playlistItems.insert and playlistItems.delete methods.
-    "status": { # The status details of a playlist describes whether the playlist is private. # The status object contains status information for the playlist.
+      # You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods.
+    "status": { # The status object contains status information for the playlist.
       "privacyStatus": "A String", # The playlist's privacy status.
     },
-    "kind": "youtube#playlist", # The type of the API resource. For video resources, the value will be youtube#playlist.
-    "contentDetails": { # Details about the content of a playlist, such as the video count. # The contentDetails object contains information like video count.
+    "kind": "youtube#playlist", # The kind, fixed to "youtube#playlist".
+    "contentDetails": { # The contentDetails object contains information like video count.
       "itemCount": 42, # The number of videos in the playlist.
     },
     "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist, such as its title and description.
-      "title": "A String", # The playlist's title.
-      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
-      "description": "A String", # The playlist's description.
-      "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "thumbnails": { # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "a_key": { # A thumbnail is an image representing a YouTube resource. # The thumbnail image's name. This value is used as the key in the snippet.thumbnails map.
+      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
           "url": "A String", # The thumbnail image's URL.
           "width": 42, # (Optional) Width of the thumbnail image.
           "height": 42, # (Optional) Height of the thumbnail image.
         },
       },
+      "tags": [ # Keyword tags associated with the playlist.
+        "A String",
+      ],
+      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
+      "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "channelTitle": "A String", # The channel title of the channel that the video belongs to.
+      "title": "A String", # The playlist's title.
+      "description": "A String", # The playlist's description.
     },
-    "player": { # Player to be used for a playlist playback. # The player object contains information that you would use to play the playlist in an embedded player.
+    "player": { # The player object contains information that you would use to play the playlist in an embedded player.
       "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the playlist.
     },
-    "etag": "A String", # The ETag for the playlist resource.
+    "etag": "A String", # Etag of this resource.
     "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
   }
 
@@ -331,33 +429,57 @@
         # - favorite videos
         # - positively rated (liked) videos
         # - watch history
-        # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the channel resource for a given channel.
+        # - watch later  To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the  channel resource for a given channel.
         #
-        # You can then use the playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the playlistItems.insert and playlistItems.delete methods.
-      "status": { # The status details of a playlist describes whether the playlist is private. # The status object contains status information for the playlist.
+        # You can then use the   playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the   playlistItems.insert and   playlistItems.delete methods.
+      "status": { # The status object contains status information for the playlist.
         "privacyStatus": "A String", # The playlist's privacy status.
       },
-      "kind": "youtube#playlist", # The type of the API resource. For video resources, the value will be youtube#playlist.
-      "contentDetails": { # Details about the content of a playlist, such as the video count. # The contentDetails object contains information like video count.
+      "kind": "youtube#playlist", # The kind, fixed to "youtube#playlist".
+      "contentDetails": { # The contentDetails object contains information like video count.
         "itemCount": 42, # The number of videos in the playlist.
       },
       "snippet": { # Basic details about a playlist, including title, description and thumbnails. # The snippet object contains basic details about the playlist, such as its title and description.
-        "title": "A String", # The playlist's title.
-        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
-        "description": "A String", # The playlist's description.
-        "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "thumbnails": { # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-          "a_key": { # A thumbnail is an image representing a YouTube resource. # The thumbnail image's name. This value is used as the key in the snippet.thumbnails map.
+        "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+          "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
             "url": "A String", # The thumbnail image's URL.
             "width": 42, # (Optional) Width of the thumbnail image.
             "height": 42, # (Optional) Height of the thumbnail image.
           },
         },
+        "tags": [ # Keyword tags associated with the playlist.
+          "A String",
+        ],
+        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the playlist.
+        "publishedAt": "A String", # The date and time that the playlist was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+        "channelTitle": "A String", # The channel title of the channel that the video belongs to.
+        "title": "A String", # The playlist's title.
+        "description": "A String", # The playlist's description.
       },
-      "player": { # Player to be used for a playlist playback. # The player object contains information that you would use to play the playlist in an embedded player.
+      "player": { # The player object contains information that you would use to play the playlist in an embedded player.
         "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the playlist.
       },
-      "etag": "A String", # The ETag for the playlist resource.
+      "etag": "A String", # Etag of this resource.
       "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
     }</pre>
 </div>
diff --git a/docs/dyn/youtube_v3.search.html b/docs/dyn/youtube_v3.search.html
index b33fd74..19bad22 100644
--- a/docs/dyn/youtube_v3.search.html
+++ b/docs/dyn/youtube_v3.search.html
@@ -75,14 +75,14 @@
 <h1><a href="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.search.html">search</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
-  <code><a href="#list">list(part=None, channelId=None, videoSyndicated=None, channelType=None, videoCaption=None, publishedAfter=None, onBehalfOfContentOwner=None, forContentOwner=None, regionCode=None, type=None, topicId=None, publishedBefore=None, videoDimension=None, videoLicense=None, maxResults=None, videoType=None, videoDefinition=None, pageToken=None, relatedToVideoId=None, videoDuration=None, q=None, videoEmbeddable=None, videoCategoryId=None, order=None)</a></code></p>
+  <code><a href="#list">list(part=None, channelId=None, videoSyndicated=None, channelType=None, videoCaption=None, publishedAfter=None, onBehalfOfContentOwner=None, forContentOwner=None, regionCode=None, type=None, topicId=None, publishedBefore=None, videoDimension=None, videoLicense=None, maxResults=None, videoType=None, videoDefinition=None, pageToken=None, relatedToVideoId=None, videoDuration=None, forMine=None, q=None, safeSearch=None, videoEmbeddable=None, videoCategoryId=None, order=None)</a></code></p>
 <p class="firstline">Returns a collection of search results that match the query parameters specified in the API request. By default, a search result set identifies matching video, channel, and playlist resources, but you can also configure queries to only retrieve a specific type of resource.</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>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="list">list(part=None, channelId=None, videoSyndicated=None, channelType=None, videoCaption=None, publishedAfter=None, onBehalfOfContentOwner=None, forContentOwner=None, regionCode=None, type=None, topicId=None, publishedBefore=None, videoDimension=None, videoLicense=None, maxResults=None, videoType=None, videoDefinition=None, pageToken=None, relatedToVideoId=None, videoDuration=None, q=None, videoEmbeddable=None, videoCategoryId=None, order=None)</code>
+    <code class="details" id="list">list(part=None, channelId=None, videoSyndicated=None, channelType=None, videoCaption=None, publishedAfter=None, onBehalfOfContentOwner=None, forContentOwner=None, regionCode=None, type=None, topicId=None, publishedBefore=None, videoDimension=None, videoLicense=None, maxResults=None, videoType=None, videoDefinition=None, pageToken=None, relatedToVideoId=None, videoDuration=None, forMine=None, q=None, safeSearch=None, videoEmbeddable=None, videoCategoryId=None, order=None)</code>
   <pre>Returns a collection of search results that match the query parameters specified in the API request. By default, a search result set identifies matching video, channel, and playlist resources, but you can also configure queries to only retrieve a specific type of resource.
 
 Args:
@@ -104,7 +104,7 @@
       closedCaption - Only include videos that have captions.
       none - Only include videos that do not have captions.
   publishedAfter: string, The publishedAfter parameter indicates that the API response should only contain resources created after the specified time. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).
-  onBehalfOfContentOwner: string, The onBehalfOfContentOwner parameter indicates that the authenticated user is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. 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 actual CMS account that the user authenticates with needs to be linked to the specified YouTube content owner.
+  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
   forContentOwner: boolean, The forContentOwner parameter restricts the search to only retrieve resources owned by the content owner specified by the onBehalfOfContentOwner parameter. The user must be authenticated as a CMS account linked to the specified content owner and onBehalfOfContentOwner must be provided.
   regionCode: string, The regionCode parameter instructs the API to return search results for the specified country. The parameter value is an ISO 3166-1 alpha-2 country code.
   type: string, The type parameter restricts a search query to only retrieve a particular type of resource.
@@ -139,7 +139,13 @@
       long - Only include videos longer than 20 minutes.
       medium - Only include videos that are between four and 20 minutes long (inclusive).
       short - Only include videos that are less than four minutes long.
+  forMine: boolean, The forMine parameter restricts the search to only retrieve videos owned by the authenticated user.
   q: string, The q parameter specifies the query term to search for.
+  safeSearch: string, The safeSearch parameter indicates whether the search results should include restricted content as well as standard content.
+    Allowed values
+      moderate - YouTube will filter some content from search results and, at the least, will filter content that is restricted in your locale. Based on their content, search results could be removed from search results or demoted in search results. Note: The default value for the safeSearch parameter is moderate.
+      none - YouTube will not perform any filtering on the search result set.
+      strict - YouTube will try to exclude all restricted content from the search result set. Based on their content, search results could be removed from search results or demoted in search results.
   videoEmbeddable: string, The videoEmbeddable parameter lets you to restrict a search to only videos that can be embedded into a webpage.
     Allowed values
       any - Return all videos, embeddable or not.
@@ -150,19 +156,43 @@
       date - Resources are sorted in reverse chronological order based on the date they were created.
       rating - Resources are sorted from highest to lowest rating.
       relevance - Resources are sorted based on their relevance to the search query. This is the default value for this parameter.
+      title - Resources are sorted based on their title.
+      videoCount - Channels are sorted from highest to lowest number of video uploaded.
       viewCount - Resources are sorted from highest to lowest number of views.
 
 Returns:
   An object of the form:
 
     { # A paginated list of search results returned as the response to a youtube.search.list call.
+    "eventId": "A String", # Serialized EventId of the request which produced this response.
     "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.
     "kind": "youtube#searchListResponse", # The type of the API response. For this operation, the value will be youtube#searchListResponse.
+    "visitorId": "A String", # The visitorId identifies the visitor.
     "items": [ # A list of results that match the search criteria.
       { # A search result contains information about a YouTube video, channel, or playlist that matches the search parameters specified in an API request. While a search result points to a uniquely identifiable resource, like a video, it does not have its own persistent data.
-        "snippet": { # The snippet object contains basic details about a search result, such as its title or description. For example, if the search result is a video, then the title will be the video's title and the description will be the video's description.
-          "thumbnails": { # A map of thumbnail images associated with the search result. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-            "a_key": { # A thumbnail is an image representing a YouTube resource. # Name of the thumbnail, to easily identify it. The set of names is dependent on the resource the thumbnail is for.
+        "snippet": { # Basic details about a search result, including title, description and thumbnails of the item referenced by the search result. # The snippet object contains basic details about a search result, such as its title or description. For example, if the search result is a video, then the title will be the video's title and the description will be the video's description.
+          "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the search result. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+            "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+              "url": "A String", # The thumbnail image's URL.
+              "width": 42, # (Optional) Width of the thumbnail image.
+              "height": 42, # (Optional) Height of the thumbnail image.
+            },
+            "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+              "url": "A String", # The thumbnail image's URL.
+              "width": 42, # (Optional) Width of the thumbnail image.
+              "height": 42, # (Optional) Height of the thumbnail image.
+            },
+            "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+              "url": "A String", # The thumbnail image's URL.
+              "width": 42, # (Optional) Width of the thumbnail image.
+              "height": 42, # (Optional) Height of the thumbnail image.
+            },
+            "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+              "url": "A String", # The thumbnail image's URL.
+              "width": 42, # (Optional) Width of the thumbnail image.
+              "height": 42, # (Optional) Height of the thumbnail image.
+            },
+            "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
               "url": "A String", # The thumbnail image's URL.
               "width": 42, # (Optional) Width of the thumbnail image.
               "height": 42, # (Optional) Height of the thumbnail image.
@@ -177,7 +207,7 @@
         "kind": "youtube#searchResult", # The kind, fixed to "youtube#searchResult".
         "etag": "A String", # Etag of this resource.
         "id": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information that can be used to uniquely identify the resource that matches the search request.
-          "kind": "A String",
+          "kind": "A String", # The type of the API resource.
           "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
           "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
           "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
diff --git a/docs/dyn/youtube_v3.subscriptions.html b/docs/dyn/youtube_v3.subscriptions.html
index 74b2864..68f9232 100644
--- a/docs/dyn/youtube_v3.subscriptions.html
+++ b/docs/dyn/youtube_v3.subscriptions.html
@@ -81,7 +81,7 @@
   <code><a href="#insert">insert(part=None, body)</a></code></p>
 <p class="firstline">Adds a subscription for the authenticated user's channel.</p>
 <p class="toc_element">
-  <code><a href="#list">list(part=None, pageToken=None, channelId=None, mine=None, maxResults=None, forChannelId=None, order=None, id=None)</a></code></p>
+  <code><a href="#list">list(part=None, pageToken=None, id=None, channelId=None, mine=None, maxResults=None, forChannelId=None, mySubscribers=None, order=None)</a></code></p>
 <p class="firstline">Returns subscription resources that match the API request criteria.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -108,31 +108,85 @@
     The object takes the form of:
 
 { # A subscription resource contains information about a YouTube user subscription. A subscription notifies a user when new videos are added to a channel or when another user takes one of several actions on YouTube, such as uploading a video, rating a video, or commenting on a video.
+    "kind": "youtube#subscription", # The kind, fixed to "youtube#subscription".
+    "contentDetails": { # Details about the content to witch a subscription refers. # The contentDetails object contains basic statistics about the subscription.
+      "newItemCount": 42, # The number of new items in the subscription since its content was last read.
+      "activityType": "A String", # The type of activity this subscription is for (only uploads, everything).
+      "totalItemCount": 42, # The approximate number of items that the subscription points to.
+    },
     "snippet": { # Basic details about a subscription, including title, description and thumbnails of the subscribed item. # The snippet object contains basic details about the subscription, including its title and the channel that the user subscribed to.
-      "description": "A String", # The subscription's details.
+      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+      },
       "title": "A String", # The subscription's title.
       "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information about the channel that the user subscribed to.
-        "kind": "A String", # The kind, or type, of the referred resource.
+        "kind": "A String", # The type of the API resource.
         "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
         "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
         "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
       },
       "channelId": "A String", # The ID that YouTube uses to uniquely identify the subscriber's channel.
       "publishedAt": "A String", # The date and time that the subscription was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-      "thumbnails": { # A map of thumbnail images associated with the subscription. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "a_key": { # A thumbnail is an image representing a YouTube resource. # The thumbnail image's name.
+      "channelTitle": "A String", # Channel title for the channel that the subscription belongs to.
+      "description": "A String", # The subscription's details.
+    },
+    "etag": "A String", # Etag of this resource.
+    "subscriberSnippet": { # Basic details about a subscription's subscriber including title, description, channel ID and thumbnails. # The subscriberSnippet object contains basic details about the sbuscriber.
+      "title": "A String", # The title of the subscriber.
+      "channelId": "A String", # The channel ID of the subscriber.
+      "description": "A String", # The description of the subscriber.
+      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # Thumbnails for this subscriber.
+        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
           "url": "A String", # The thumbnail image's URL.
           "width": 42, # (Optional) Width of the thumbnail image.
           "height": 42, # (Optional) Height of the thumbnail image.
         },
       },
     },
-    "contentDetails": { # Details about the content to witch a subscription refers. # The contentDetails object contains basic statistics about the subscription.
-      "newItemCount": 42, # The number of new items in the subscription since its content was last read.
-      "totalItemCount": 42, # The approximate number of items that the subscription points to.
-    },
-    "kind": "youtube#subscription", # The type of the API resource. For subscription resources, the value will be youtube#subscription.
-    "etag": "A String", # The ETag of the subscription resource.
     "id": "A String", # The ID that YouTube uses to uniquely identify the subscription.
   }
 
@@ -141,37 +195,91 @@
   An object of the form:
 
     { # A subscription resource contains information about a YouTube user subscription. A subscription notifies a user when new videos are added to a channel or when another user takes one of several actions on YouTube, such as uploading a video, rating a video, or commenting on a video.
+      "kind": "youtube#subscription", # The kind, fixed to "youtube#subscription".
+      "contentDetails": { # Details about the content to witch a subscription refers. # The contentDetails object contains basic statistics about the subscription.
+        "newItemCount": 42, # The number of new items in the subscription since its content was last read.
+        "activityType": "A String", # The type of activity this subscription is for (only uploads, everything).
+        "totalItemCount": 42, # The approximate number of items that the subscription points to.
+      },
       "snippet": { # Basic details about a subscription, including title, description and thumbnails of the subscribed item. # The snippet object contains basic details about the subscription, including its title and the channel that the user subscribed to.
-        "description": "A String", # The subscription's details.
+        "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+          "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+        },
         "title": "A String", # The subscription's title.
         "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information about the channel that the user subscribed to.
-          "kind": "A String", # The kind, or type, of the referred resource.
+          "kind": "A String", # The type of the API resource.
           "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
           "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
           "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
         },
         "channelId": "A String", # The ID that YouTube uses to uniquely identify the subscriber's channel.
         "publishedAt": "A String", # The date and time that the subscription was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-        "thumbnails": { # A map of thumbnail images associated with the subscription. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-          "a_key": { # A thumbnail is an image representing a YouTube resource. # The thumbnail image's name.
+        "channelTitle": "A String", # Channel title for the channel that the subscription belongs to.
+        "description": "A String", # The subscription's details.
+      },
+      "etag": "A String", # Etag of this resource.
+      "subscriberSnippet": { # Basic details about a subscription's subscriber including title, description, channel ID and thumbnails. # The subscriberSnippet object contains basic details about the sbuscriber.
+        "title": "A String", # The title of the subscriber.
+        "channelId": "A String", # The channel ID of the subscriber.
+        "description": "A String", # The description of the subscriber.
+        "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # Thumbnails for this subscriber.
+          "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
             "url": "A String", # The thumbnail image's URL.
             "width": 42, # (Optional) Width of the thumbnail image.
             "height": 42, # (Optional) Height of the thumbnail image.
           },
         },
       },
-      "contentDetails": { # Details about the content to witch a subscription refers. # The contentDetails object contains basic statistics about the subscription.
-        "newItemCount": 42, # The number of new items in the subscription since its content was last read.
-        "totalItemCount": 42, # The approximate number of items that the subscription points to.
-      },
-      "kind": "youtube#subscription", # The type of the API resource. For subscription resources, the value will be youtube#subscription.
-      "etag": "A String", # The ETag of the subscription resource.
       "id": "A String", # The ID that YouTube uses to uniquely identify the subscription.
     }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(part=None, pageToken=None, channelId=None, mine=None, maxResults=None, forChannelId=None, order=None, id=None)</code>
+    <code class="details" id="list">list(part=None, pageToken=None, id=None, channelId=None, mine=None, maxResults=None, forChannelId=None, mySubscribers=None, order=None)</code>
   <pre>Returns subscription resources that match the API request criteria.
 
 Args:
@@ -179,50 +287,107 @@
 
 If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a subscription resource, the snippet property contains other properties, such as a display title for the subscription. If you set part=snippet, the API response will also contain all of those nested properties. (required)
   pageToken: string, USE_DESCRIPTION --- channels:list:pageToken
+  id: string, The id parameter specifies a comma-separated list of the YouTube subscription ID(s) for the resource(s) that are being retrieved. In a subscription resource, the id property specifies the YouTube subscription ID.
   channelId: string, The channelId parameter specifies a YouTube channel ID. The API will only return that channel's subscriptions.
   mine: boolean, Set this parameter's value to true to retrieve a feed of the authenticated user's subscriptions.
   maxResults: integer, USE_DESCRIPTION --- channels:list:maxResults
   forChannelId: string, The forChannelId parameter specifies a comma-separated list of channel IDs. The API response will then only contain subscriptions matching those channels.
+  mySubscribers: boolean, Set this parameter's value to true to retrieve a feed of the subscribers of the authenticated user.
   order: string, The order parameter specifies the method that will be used to sort resources in the API response.
     Allowed values
       alphabetical - Sort alphabetically.
       relevance - Sort by relevance.
       unread - Sort by order of activity.
-  id: string, The id parameter specifies a comma-separated list of the YouTube subscription ID(s) for the resource(s) that are being retrieved. In a subscription resource, the id property specifies the YouTube subscription ID.
 
 Returns:
   An object of the form:
 
     { # A paginated list of subscriptions returned as the response to a youtube.subscriptions.list call.
+    "eventId": "A String", # Serialized EventId of the request which produced this response.
     "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.
     "kind": "youtube#subscriptionListResponse", # The type of the API response. For this operation, the value will be youtube#subscriptionListResponse.
+    "visitorId": "A String", # The visitorId identifies the visitor.
     "items": [ # A list of subscriptions that match the request criteria.
       { # A subscription resource contains information about a YouTube user subscription. A subscription notifies a user when new videos are added to a channel or when another user takes one of several actions on YouTube, such as uploading a video, rating a video, or commenting on a video.
+          "kind": "youtube#subscription", # The kind, fixed to "youtube#subscription".
+          "contentDetails": { # Details about the content to witch a subscription refers. # The contentDetails object contains basic statistics about the subscription.
+            "newItemCount": 42, # The number of new items in the subscription since its content was last read.
+            "activityType": "A String", # The type of activity this subscription is for (only uploads, everything).
+            "totalItemCount": 42, # The approximate number of items that the subscription points to.
+          },
           "snippet": { # Basic details about a subscription, including title, description and thumbnails of the subscribed item. # The snippet object contains basic details about the subscription, including its title and the channel that the user subscribed to.
-            "description": "A String", # The subscription's details.
+            "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+              "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+            },
             "title": "A String", # The subscription's title.
             "resourceId": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information about the channel that the user subscribed to.
-              "kind": "A String", # The kind, or type, of the referred resource.
+              "kind": "A String", # The type of the API resource.
               "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
               "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
               "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
             },
             "channelId": "A String", # The ID that YouTube uses to uniquely identify the subscriber's channel.
             "publishedAt": "A String", # The date and time that the subscription was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
-            "thumbnails": { # A map of thumbnail images associated with the subscription. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-              "a_key": { # A thumbnail is an image representing a YouTube resource. # The thumbnail image's name.
+            "channelTitle": "A String", # Channel title for the channel that the subscription belongs to.
+            "description": "A String", # The subscription's details.
+          },
+          "etag": "A String", # Etag of this resource.
+          "subscriberSnippet": { # Basic details about a subscription's subscriber including title, description, channel ID and thumbnails. # The subscriberSnippet object contains basic details about the sbuscriber.
+            "title": "A String", # The title of the subscriber.
+            "channelId": "A String", # The channel ID of the subscriber.
+            "description": "A String", # The description of the subscriber.
+            "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # Thumbnails for this subscriber.
+              "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
                 "url": "A String", # The thumbnail image's URL.
                 "width": 42, # (Optional) Width of the thumbnail image.
                 "height": 42, # (Optional) Height of the thumbnail image.
               },
             },
           },
-          "contentDetails": { # Details about the content to witch a subscription refers. # The contentDetails object contains basic statistics about the subscription.
-            "newItemCount": 42, # The number of new items in the subscription since its content was last read.
-            "totalItemCount": 42, # The approximate number of items that the subscription points to.
-          },
-          "kind": "youtube#subscription", # The type of the API resource. For subscription resources, the value will be youtube#subscription.
-          "etag": "A String", # The ETag of the subscription resource.
           "id": "A String", # The ID that YouTube uses to uniquely identify the subscription.
         },
     ],
diff --git a/docs/dyn/youtube_v3.thumbnails.html b/docs/dyn/youtube_v3.thumbnails.html
new file mode 100644
index 0000000..906f7ed
--- /dev/null
+++ b/docs/dyn/youtube_v3.thumbnails.html
@@ -0,0 +1,128 @@
+<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="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.thumbnails.html">thumbnails</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#set">set(videoId, media_body=None)</a></code></p>
+<p class="firstline">Uploads a custom video thumbnail to YouTube and sets it for a video.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="set">set(videoId, media_body=None)</code>
+  <pre>Uploads a custom video thumbnail to YouTube and sets it for a video.
+
+Args:
+  videoId: string, The videoId parameter specifies a YouTube video ID for which the custom video thumbnail is being provided. (required)
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+
+Returns:
+  An object of the form:
+
+    { # A list of thumbnails returned as the response to a thumbnails.set call.
+    "items": [ # A list of thumbnails.
+      { # Internal representation of thumbnails for a YouTube resource.
+        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+      },
+    ],
+    "kind": "youtube#thumbnailListResponse", # The type of the API response. For this operation, the value will be youtube#thumbnailListResponse.
+    "etag": "A String", # The ETag of the response.
+    "visitorId": "A String", # The visitorId identifies the visitor.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.videoCategories.html b/docs/dyn/youtube_v3.videoCategories.html
index f4a76af..bdaa210 100644
--- a/docs/dyn/youtube_v3.videoCategories.html
+++ b/docs/dyn/youtube_v3.videoCategories.html
@@ -92,19 +92,21 @@
   An object of the form:
 
     { # A paginated list of video categories returned as the response to a youtube.videoCategory.list call.
+    "eventId": "A String", # Serialized EventId of the request which produced this response.
     "items": [ # A list of video categories that can be associated with YouTube videos. In this map, the video category ID is the map key, and its value is the corresponding videoCategory resource.
       { # A videoCategory resource identifies a category that has been or could be associated with uploaded videos.
-        "snippet": { # The snippet object contains basic details about the video category, including its title.
+        "snippet": { # Basic details about a video category, such as its localized title. # The snippet object contains basic details about the video category, including its title.
           "channelId": "UCBR8-60-B28hp2BmDPdntcQ", # The YouTube channel that created the video category.
-          "title": "A String",
+          "title": "A String", # The video category's title.
         },
-        "kind": "youtube#videoCategory", # The type of the API resource. For video category resources, the value will be youtube#videoCategory.
-        "etag": "A String", # The ETag of the videoCategory resource.
+        "kind": "youtube#videoCategory", # The kind, fixed to "youtube#videoCategory".
+        "etag": "A String", # Etag of this resource.
         "id": "A String", # The ID that YouTube uses to uniquely identify the video category.
       },
     ],
     "kind": "youtube#videoCategoryListResponse", # The type of the API response. For this operation, the value will be youtube#videoCategoryListResponse.
     "etag": "A String", # The ETag of the response.
+    "visitorId": "A String", # The visitorId identifies the visitor.
   }</pre>
 </div>
 
diff --git a/docs/dyn/youtube_v3.videos.html b/docs/dyn/youtube_v3.videos.html
index ec78917..3b8149d 100644
--- a/docs/dyn/youtube_v3.videos.html
+++ b/docs/dyn/youtube_v3.videos.html
@@ -78,12 +78,21 @@
   <code><a href="#delete">delete(id, onBehalfOfContentOwner=None)</a></code></p>
 <p class="firstline">Deletes a YouTube video.</p>
 <p class="toc_element">
-  <code><a href="#insert">insert(part=None, body=None, media_body=None)</a></code></p>
+  <code><a href="#getRating">getRating(id, onBehalfOfContentOwner=None)</a></code></p>
+<p class="firstline">Get user ratings for videos.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(part=None, body=None, media_body=None, onBehalfOfContentOwner=None, stabilize=None, onBehalfOfContentOwnerChannel=None, autoLevels=None)</a></code></p>
 <p class="firstline">Uploads a video to YouTube and optionally sets the video's metadata.</p>
 <p class="toc_element">
-  <code><a href="#list">list(id, part=None, onBehalfOfContentOwner=None)</a></code></p>
+  <code><a href="#list">list(part=None, pageToken=None, onBehalfOfContentOwner=None, locale=None, chart=None, maxResults=None, videoCategoryId=None, myRating=None, id=None)</a></code></p>
 <p class="firstline">Returns a list of videos that match the API request parameters.</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="#rate">rate(id, rating, onBehalfOfContentOwner=None)</a></code></p>
+<p class="firstline">Like, dislike, or remove rating from a video.</p>
+<p class="toc_element">
   <code><a href="#update">update(part=None, body, onBehalfOfContentOwner=None)</a></code></p>
 <p class="firstline">Updates a video's metadata.</p>
 <h3>Method Details</h3>
@@ -93,12 +102,35 @@
 
 Args:
   id: string, The id parameter specifies the YouTube video ID for the resource that is being deleted. In a video resource, the id property specifies the video's ID. (required)
-  onBehalfOfContentOwner: string, The onBehalfOfContentOwner parameter indicates that the authenticated user is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. 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 actual CMS account that the user authenticates with needs to be linked to the specified YouTube content owner.
+  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
 </pre>
 </div>
 
 <div class="method">
-    <code class="details" id="insert">insert(part=None, body=None, media_body=None)</code>
+    <code class="details" id="getRating">getRating(id, onBehalfOfContentOwner=None)</code>
+  <pre>Get user ratings for videos.
+
+Args:
+  id: string, The id parameter specifies a comma-separated list of the YouTube video ID(s) for the resource(s) that are being retrieved. In a video resource, the id property specifies the video's ID. (required)
+  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
+
+Returns:
+  An object of the form:
+
+    { # A list of video ratings returned as the response to a youtube.videos.getRating call.
+    "items": [ # A list of ratings that match the request criteria.
+      { # Basic details about rating of a video.
+        "rating": "A String", # Rating of a video.
+        "videoId": "A String", # The ID that YouTube uses to uniquely identify the video.
+      },
+    ],
+    "kind": "youtube#videoGetRatingResponse", # The type of the API response. For this operation, the value will be youtube#videoGetRatingResponse.
+    "etag": "A String", # The ETag of the response.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(part=None, body=None, media_body=None, onBehalfOfContentOwner=None, stabilize=None, onBehalfOfContentOwnerChannel=None, autoLevels=None)</code>
   <pre>Uploads a video to YouTube and optionally sets the video's metadata.
 
 Args:
@@ -109,10 +141,11 @@
     The object takes the form of:
 
 { # A video resource represents a YouTube video.
-    "status": { # The status of a video details the video's upload status and privacy status. # The status object contains information about the video's uploading, processing, and privacy statuses.
+    "status": { # Basic details about a video category, such as its localized title. # The status object contains information about the video's uploading, processing, and privacy statuses.
       "license": "A String", # The video's license.
       "embeddable": True or False, # This value indicates if the video can be embedded on another website.
       "privacyStatus": "A String", # The video's privacy status.
+      "publicStatsViewable": True or False, # This value indicates if the extended video statistics on the watch page can be viewed by everyone. Note that the view count, likes, etc will still be visible if this is disabled.
       "uploadStatus": "A String", # The status of the uploaded video.
       "rejectionReason": "A String", # This value explains why YouTube rejected an uploaded video. This property is only present if the uploadStatus property indicates that the upload was rejected.
       "failureReason": "A String", # This value explains why a video failed to upload. This property is only present if the uploadStatus property indicates that the upload failed.
@@ -127,15 +160,35 @@
       "channelTitle": "A String", # Channel title for the channel that the video belongs to.
       "title": "A String", # The video's title.
       "categoryId": "A String", # The YouTube video category associated with the video.
-      "thumbnails": { # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "a_key": { # A thumbnail is an image representing a YouTube resource. # Name of the thumbnail, to easily identify it. The set of names is dependent on the resource the thumbnail is for.
+      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
           "url": "A String", # The thumbnail image's URL.
           "width": 42, # (Optional) Width of the thumbnail image.
           "height": 42, # (Optional) Height of the thumbnail image.
         },
       },
     },
-    "kind": "youtube#video", # The type of the API resource. For video resources, the value will be youtube#video.
+    "kind": "youtube#video", # The kind, fixed to "youtube#video".
     "statistics": { # Statistics about the video, such as the number of times the video was viewed or liked. # The statistics object contains statistics about the video.
       "commentCount": "A String", # The number of comments for the video.
       "viewCount": "A String", # The number of times the video has been viewed.
@@ -144,7 +197,10 @@
       "likeCount": "A String", # The number of users who have indicated that they liked the video by giving it a positive rating.
     },
     "topicDetails": { # Freebase topic information related to the video. # The topicDetails object encapsulates information about Freebase topics associated with the video.
-      "topicIds": [ # A list of Freebase topic IDs associated with the video. You can retrieve information about each topic using the Freebase Topic API.
+      "topicIds": [ # A list of Freebase topic IDs that are centrally associated with the video. These are topics that are centrally featured in the video, and it can be said that the video is mainly about each of these. You can retrieve information about each topic using the Freebase Topic API.
+        "A String",
+      ],
+      "relevantTopicIds": [ # Similar to topic_id, except that these topics are merely relevant to the video. These are topics that may be mentioned in, or appear in the video. You can retrieve information about each topic using Freebase Topic API.
         "A String",
       ],
     },
@@ -164,6 +220,24 @@
         ],
         "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
       },
+      "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. # Specifies the ratings that the video received under various rating schemes.
+        "ytRating": "A String", # Internal YouTube rating.
+        "russiaRating": "A String", # Rating system in Russia
+        "tvpgRating": "A String", # TV Parental Guidelines rating of the content.
+        "cbfcRating": "A String", # Rating system in India - Central Board of Film Certification
+        "acbRating": "A String", # Rating system in Australia - Australian Classification Board
+        "fskRating": "A String", # Rating system in Germany - Voluntary Self Regulation of the Movie Industry
+        "eirinRating": "A String", # Rating system in Japan - Eiga Rinri Kanri Iinkai
+        "bbfcRating": "A String", # British Board of Film Classification
+        "kmrbRating": "A String", # Rating system in South Korea - Korea Media Rating Board
+        "mpaaRating": "A String", # Motion Picture Association of America rating for the content.
+        "icaaRating": "A String", # Rating system in Spain - Instituto de Cinematografia y de las Artes Audiovisuales
+        "fmocRating": "A String", # Rating system in France - French Minister of Culture
+        "chvrsRating": "A String", # Canadian Home Video Rating System
+        "rtcRating": "A String", # Rating system in Mexico - General Directorate of Radio, Television and Cinematography
+        "djctqRating": "A String", # Rating system in Brazil - Department of Justice, Rating, Titles and Qualification
+        "oflcRating": "A String", # Rating system in New Zealand - Office of Film and Literature Classification
+      },
       "caption": "A String", # The value of captions indicates whether the video has captions or not.
       "regionRestriction": { # DEPRECATED Region restriction of the video. # The regionRestriction object contains information about the countries where a video is (or is not) viewable. The object will contain either the contentDetails.regionRestriction.allowed property or the contentDetails.regionRestriction.blocked property.
         "blocked": [ # A list of region codes that identify countries where the video is blocked. If this property is present and a country is not listed in its value, then the video is viewable in that country. If this property is present and contains an empty list, the video is viewable in all countries.
@@ -177,34 +251,17 @@
       "licensedContent": True or False, # The value of is_license_content indicates whether the video is licensed content.
       "dimension": "A String", # The value of dimension indicates whether the video is available in 3D or in 2D.
     },
-    "suggestions": { # Specifies suggestions on how to improve video content, including encoding hints, tag suggestions, and editor suggestions. # The suggestions object encapsulates suggestions that identify opportunities to improve the video quality or the metadata for the uploaded video. This data can only be retrieved by the video owner.
-      "processingErrors": [ # A list of errors that will prevent YouTube from successfully processing the uploaded video video. These errors indicate that, regardless of the video's current processing status, eventually, that status will almost certainly be failed.
-        "A String",
-      ],
-      "tagSuggestions": [ # A list of keyword tags that could be added to the video's metadata to increase the likelihood that users will locate your video when searching or browsing on YouTube.
-        { # A single tag suggestion with it's relevance information.
-          "categoryRestricts": [ # A set of video categories for which the tag is relevant. You can use this information to display appropriate tag suggestions based on the video category that the video uploader associates with the video. By default, tag suggestions are relevant for all categories if there are no restricts defined for the keyword.
-            "A String",
-          ],
-          "tag": "A String", # The keyword tag suggested for the video.
-        },
-      ],
-      "editorSuggestions": [ # A list of video editing operations that might improve the video quality or playback experience of the uploaded video.
-        "A String",
-      ],
-      "processingWarnings": [ # A list of reasons why YouTube may have difficulty transcoding the uploaded video or that might result in an erroneous transcoding. These warnings are generated before YouTube actually processes the uploaded video file. In addition, they identify issues that are unlikely to cause the video processing to fail but that might cause problems such as sync issues, video artifacts, or a missing audio track.
-        "A String",
-      ],
-      "processingHints": [ # A list of suggestions that may improve YouTube's ability to process the video.
-        "A String",
-      ],
+    "ageGating": { # Age restriction details related to a video.
+      "restricted": True or False, # Age-restricted trailers. For redband trailers and adult-rated video-games. Only users aged 18+ can view the content. The the field is true the content is restricted to viewers aged 18+. Otherwise The field won't be present.
+      "alcoholContent": True or False, # Indicates whether or not the video has alcoholic beverage content. Only users of legal purchasing age in a particular country, as identified by ICAP, can view the content.
+      "videoGameRating": "A String", # Video game rating, if any.
     },
     "fileDetails": { # Describes original video file properties, including technical details about audio and video streams, but also metadata information like content length, digitization time, or geotagging information. # The fileDetails object encapsulates information about the video file that was uploaded to YouTube, including the file's resolution, duration, audio and video codecs, stream bitrates, and more. This data can only be retrieved by the video owner.
       "bitrateBps": "A String", # The uploaded video file's combined (video and audio) bitrate in bits per second.
       "container": "A String", # The uploaded video file's container format.
-      "recordingLocation": { # A geoPoint holds geo location information associated with a YouTube resource. # Geographic coordinates that identify the place where the uploaded video was recorded. Coordinates are defined using WGS 84.
+      "recordingLocation": { # Geographical coordinates of a point, in WGS84. # Geographic coordinates that identify the place where the uploaded video was recorded. Coordinates are defined using WGS 84.
         "latitude": 3.14, # Latitude in degrees.
-        "elevation": 3.14, # Altitude above the Earth, in meters.
+        "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
         "longitude": 3.14, # Longitude in degrees.
       },
       "fileType": "A String", # The uploaded file's type as detected by YouTube's video processing engine. Currently, YouTube only processes video files, but this field is present whether a video file or another type of file was uploaded.
@@ -258,7 +315,7 @@
     "player": { # Player to be used for a video playback. # The player object contains information that you would use to play the video in an embedded player.
       "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the video.
     },
-    "etag": "A String", # The ETag of the video resource.
+    "etag": "A String", # Etag of this resource.
     "projectDetails": { # Project specific details about the content of a YouTube Video. # The projectDetails object contains information about the project specific video metadata.
       "tags": [ # A list of project tags associated with the video during the upload.
         "A String",
@@ -267,25 +324,64 @@
     "recordingDetails": { # Recording information associated with the video. # The recordingDetails object encapsulates information about the location, date and address where the video was recorded.
       "recordingDate": "A String", # The date and time when the video was recorded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
       "locationDescription": "A String", # The text description of the location where the video was recorded.
-      "location": { # A geoPoint holds geo location information associated with a YouTube resource. # The geolocation information associated with the video.
+      "location": { # Geographical coordinates of a point, in WGS84. # The geolocation information associated with the video.
         "latitude": 3.14, # Latitude in degrees.
-        "elevation": 3.14, # Altitude above the Earth, in meters.
+        "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
         "longitude": 3.14, # Longitude in degrees.
       },
     },
+    "suggestions": { # Specifies suggestions on how to improve video content, including encoding hints, tag suggestions, and editor suggestions. # The suggestions object encapsulates suggestions that identify opportunities to improve the video quality or the metadata for the uploaded video. This data can only be retrieved by the video owner.
+      "processingErrors": [ # A list of errors that will prevent YouTube from successfully processing the uploaded video video. These errors indicate that, regardless of the video's current processing status, eventually, that status will almost certainly be failed.
+        "A String",
+      ],
+      "tagSuggestions": [ # A list of keyword tags that could be added to the video's metadata to increase the likelihood that users will locate your video when searching or browsing on YouTube.
+        { # A single tag suggestion with it's relevance information.
+          "categoryRestricts": [ # A set of video categories for which the tag is relevant. You can use this information to display appropriate tag suggestions based on the video category that the video uploader associates with the video. By default, tag suggestions are relevant for all categories if there are no restricts defined for the keyword.
+            "A String",
+          ],
+          "tag": "A String", # The keyword tag suggested for the video.
+        },
+      ],
+      "editorSuggestions": [ # A list of video editing operations that might improve the video quality or playback experience of the uploaded video.
+        "A String",
+      ],
+      "processingWarnings": [ # A list of reasons why YouTube may have difficulty transcoding the uploaded video or that might result in an erroneous transcoding. These warnings are generated before YouTube actually processes the uploaded video file. In addition, they identify issues that are unlikely to cause the video processing to fail but that might cause problems such as sync issues, video artifacts, or a missing audio track.
+        "A String",
+      ],
+      "processingHints": [ # A list of suggestions that may improve YouTube's ability to process the video.
+        "A String",
+      ],
+    },
     "id": "A String", # The ID that YouTube uses to uniquely identify the video.
+    "conversionPings": { # The conversionPings object encapsulates information about url pings that need to be respected by the App in different video contexts.
+      "pings": [ # Pings that the app shall fire for a video (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
+        {
+          "conversionUrl": "A String", # The url (without the schema) that the app shall send the ping to. It's at caller's descretion to decide which schema to use (http vs https) Example of a returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D like%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA%3Bytvid%3DUrIaJUvIQDg&labe=default The caller must append biscotti authentication (ms param in case of mobile, for example) to this ping.
+          "context": "A String", # Defines the context of the ping.
+        },
+      ],
+    },
   }
 
   media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
+  stabilize: boolean, The stabilize parameter specifies whether the video should be stabilized by YouTube.
+  onBehalfOfContentOwnerChannel: string, This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwnerChannel parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the channel specified in the parameter value. This parameter must be used in conjunction with the onBehalfOfContentOwner parameter, and the user must be authenticated using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. In addition, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies.
+
+This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
+  autoLevels: boolean, The autoLevels parameter specifies whether the video should be auto-leveled by YouTube.
 
 Returns:
   An object of the form:
 
     { # A video resource represents a YouTube video.
-      "status": { # The status of a video details the video's upload status and privacy status. # The status object contains information about the video's uploading, processing, and privacy statuses.
+      "status": { # Basic details about a video category, such as its localized title. # The status object contains information about the video's uploading, processing, and privacy statuses.
         "license": "A String", # The video's license.
         "embeddable": True or False, # This value indicates if the video can be embedded on another website.
         "privacyStatus": "A String", # The video's privacy status.
+        "publicStatsViewable": True or False, # This value indicates if the extended video statistics on the watch page can be viewed by everyone. Note that the view count, likes, etc will still be visible if this is disabled.
         "uploadStatus": "A String", # The status of the uploaded video.
         "rejectionReason": "A String", # This value explains why YouTube rejected an uploaded video. This property is only present if the uploadStatus property indicates that the upload was rejected.
         "failureReason": "A String", # This value explains why a video failed to upload. This property is only present if the uploadStatus property indicates that the upload failed.
@@ -300,15 +396,35 @@
         "channelTitle": "A String", # Channel title for the channel that the video belongs to.
         "title": "A String", # The video's title.
         "categoryId": "A String", # The YouTube video category associated with the video.
-        "thumbnails": { # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-          "a_key": { # A thumbnail is an image representing a YouTube resource. # Name of the thumbnail, to easily identify it. The set of names is dependent on the resource the thumbnail is for.
+        "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+          "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
             "url": "A String", # The thumbnail image's URL.
             "width": 42, # (Optional) Width of the thumbnail image.
             "height": 42, # (Optional) Height of the thumbnail image.
           },
         },
       },
-      "kind": "youtube#video", # The type of the API resource. For video resources, the value will be youtube#video.
+      "kind": "youtube#video", # The kind, fixed to "youtube#video".
       "statistics": { # Statistics about the video, such as the number of times the video was viewed or liked. # The statistics object contains statistics about the video.
         "commentCount": "A String", # The number of comments for the video.
         "viewCount": "A String", # The number of times the video has been viewed.
@@ -317,7 +433,10 @@
         "likeCount": "A String", # The number of users who have indicated that they liked the video by giving it a positive rating.
       },
       "topicDetails": { # Freebase topic information related to the video. # The topicDetails object encapsulates information about Freebase topics associated with the video.
-        "topicIds": [ # A list of Freebase topic IDs associated with the video. You can retrieve information about each topic using the Freebase Topic API.
+        "topicIds": [ # A list of Freebase topic IDs that are centrally associated with the video. These are topics that are centrally featured in the video, and it can be said that the video is mainly about each of these. You can retrieve information about each topic using the Freebase Topic API.
+          "A String",
+        ],
+        "relevantTopicIds": [ # Similar to topic_id, except that these topics are merely relevant to the video. These are topics that may be mentioned in, or appear in the video. You can retrieve information about each topic using Freebase Topic API.
           "A String",
         ],
       },
@@ -337,6 +456,24 @@
           ],
           "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
         },
+        "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. # Specifies the ratings that the video received under various rating schemes.
+          "ytRating": "A String", # Internal YouTube rating.
+          "russiaRating": "A String", # Rating system in Russia
+          "tvpgRating": "A String", # TV Parental Guidelines rating of the content.
+          "cbfcRating": "A String", # Rating system in India - Central Board of Film Certification
+          "acbRating": "A String", # Rating system in Australia - Australian Classification Board
+          "fskRating": "A String", # Rating system in Germany - Voluntary Self Regulation of the Movie Industry
+          "eirinRating": "A String", # Rating system in Japan - Eiga Rinri Kanri Iinkai
+          "bbfcRating": "A String", # British Board of Film Classification
+          "kmrbRating": "A String", # Rating system in South Korea - Korea Media Rating Board
+          "mpaaRating": "A String", # Motion Picture Association of America rating for the content.
+          "icaaRating": "A String", # Rating system in Spain - Instituto de Cinematografia y de las Artes Audiovisuales
+          "fmocRating": "A String", # Rating system in France - French Minister of Culture
+          "chvrsRating": "A String", # Canadian Home Video Rating System
+          "rtcRating": "A String", # Rating system in Mexico - General Directorate of Radio, Television and Cinematography
+          "djctqRating": "A String", # Rating system in Brazil - Department of Justice, Rating, Titles and Qualification
+          "oflcRating": "A String", # Rating system in New Zealand - Office of Film and Literature Classification
+        },
         "caption": "A String", # The value of captions indicates whether the video has captions or not.
         "regionRestriction": { # DEPRECATED Region restriction of the video. # The regionRestriction object contains information about the countries where a video is (or is not) viewable. The object will contain either the contentDetails.regionRestriction.allowed property or the contentDetails.regionRestriction.blocked property.
           "blocked": [ # A list of region codes that identify countries where the video is blocked. If this property is present and a country is not listed in its value, then the video is viewable in that country. If this property is present and contains an empty list, the video is viewable in all countries.
@@ -350,34 +487,17 @@
         "licensedContent": True or False, # The value of is_license_content indicates whether the video is licensed content.
         "dimension": "A String", # The value of dimension indicates whether the video is available in 3D or in 2D.
       },
-      "suggestions": { # Specifies suggestions on how to improve video content, including encoding hints, tag suggestions, and editor suggestions. # The suggestions object encapsulates suggestions that identify opportunities to improve the video quality or the metadata for the uploaded video. This data can only be retrieved by the video owner.
-        "processingErrors": [ # A list of errors that will prevent YouTube from successfully processing the uploaded video video. These errors indicate that, regardless of the video's current processing status, eventually, that status will almost certainly be failed.
-          "A String",
-        ],
-        "tagSuggestions": [ # A list of keyword tags that could be added to the video's metadata to increase the likelihood that users will locate your video when searching or browsing on YouTube.
-          { # A single tag suggestion with it's relevance information.
-            "categoryRestricts": [ # A set of video categories for which the tag is relevant. You can use this information to display appropriate tag suggestions based on the video category that the video uploader associates with the video. By default, tag suggestions are relevant for all categories if there are no restricts defined for the keyword.
-              "A String",
-            ],
-            "tag": "A String", # The keyword tag suggested for the video.
-          },
-        ],
-        "editorSuggestions": [ # A list of video editing operations that might improve the video quality or playback experience of the uploaded video.
-          "A String",
-        ],
-        "processingWarnings": [ # A list of reasons why YouTube may have difficulty transcoding the uploaded video or that might result in an erroneous transcoding. These warnings are generated before YouTube actually processes the uploaded video file. In addition, they identify issues that are unlikely to cause the video processing to fail but that might cause problems such as sync issues, video artifacts, or a missing audio track.
-          "A String",
-        ],
-        "processingHints": [ # A list of suggestions that may improve YouTube's ability to process the video.
-          "A String",
-        ],
+      "ageGating": { # Age restriction details related to a video.
+        "restricted": True or False, # Age-restricted trailers. For redband trailers and adult-rated video-games. Only users aged 18+ can view the content. The the field is true the content is restricted to viewers aged 18+. Otherwise The field won't be present.
+        "alcoholContent": True or False, # Indicates whether or not the video has alcoholic beverage content. Only users of legal purchasing age in a particular country, as identified by ICAP, can view the content.
+        "videoGameRating": "A String", # Video game rating, if any.
       },
       "fileDetails": { # Describes original video file properties, including technical details about audio and video streams, but also metadata information like content length, digitization time, or geotagging information. # The fileDetails object encapsulates information about the video file that was uploaded to YouTube, including the file's resolution, duration, audio and video codecs, stream bitrates, and more. This data can only be retrieved by the video owner.
         "bitrateBps": "A String", # The uploaded video file's combined (video and audio) bitrate in bits per second.
         "container": "A String", # The uploaded video file's container format.
-        "recordingLocation": { # A geoPoint holds geo location information associated with a YouTube resource. # Geographic coordinates that identify the place where the uploaded video was recorded. Coordinates are defined using WGS 84.
+        "recordingLocation": { # Geographical coordinates of a point, in WGS84. # Geographic coordinates that identify the place where the uploaded video was recorded. Coordinates are defined using WGS 84.
           "latitude": 3.14, # Latitude in degrees.
-          "elevation": 3.14, # Altitude above the Earth, in meters.
+          "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
           "longitude": 3.14, # Longitude in degrees.
         },
         "fileType": "A String", # The uploaded file's type as detected by YouTube's video processing engine. Currently, YouTube only processes video files, but this field is present whether a video file or another type of file was uploaded.
@@ -431,7 +551,7 @@
       "player": { # Player to be used for a video playback. # The player object contains information that you would use to play the video in an embedded player.
         "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the video.
       },
-      "etag": "A String", # The ETag of the video resource.
+      "etag": "A String", # Etag of this resource.
       "projectDetails": { # Project specific details about the content of a YouTube Video. # The projectDetails object contains information about the project specific video metadata.
         "tags": [ # A list of project tags associated with the video during the upload.
           "A String",
@@ -440,37 +560,83 @@
       "recordingDetails": { # Recording information associated with the video. # The recordingDetails object encapsulates information about the location, date and address where the video was recorded.
         "recordingDate": "A String", # The date and time when the video was recorded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
         "locationDescription": "A String", # The text description of the location where the video was recorded.
-        "location": { # A geoPoint holds geo location information associated with a YouTube resource. # The geolocation information associated with the video.
+        "location": { # Geographical coordinates of a point, in WGS84. # The geolocation information associated with the video.
           "latitude": 3.14, # Latitude in degrees.
-          "elevation": 3.14, # Altitude above the Earth, in meters.
+          "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
           "longitude": 3.14, # Longitude in degrees.
         },
       },
+      "suggestions": { # Specifies suggestions on how to improve video content, including encoding hints, tag suggestions, and editor suggestions. # The suggestions object encapsulates suggestions that identify opportunities to improve the video quality or the metadata for the uploaded video. This data can only be retrieved by the video owner.
+        "processingErrors": [ # A list of errors that will prevent YouTube from successfully processing the uploaded video video. These errors indicate that, regardless of the video's current processing status, eventually, that status will almost certainly be failed.
+          "A String",
+        ],
+        "tagSuggestions": [ # A list of keyword tags that could be added to the video's metadata to increase the likelihood that users will locate your video when searching or browsing on YouTube.
+          { # A single tag suggestion with it's relevance information.
+            "categoryRestricts": [ # A set of video categories for which the tag is relevant. You can use this information to display appropriate tag suggestions based on the video category that the video uploader associates with the video. By default, tag suggestions are relevant for all categories if there are no restricts defined for the keyword.
+              "A String",
+            ],
+            "tag": "A String", # The keyword tag suggested for the video.
+          },
+        ],
+        "editorSuggestions": [ # A list of video editing operations that might improve the video quality or playback experience of the uploaded video.
+          "A String",
+        ],
+        "processingWarnings": [ # A list of reasons why YouTube may have difficulty transcoding the uploaded video or that might result in an erroneous transcoding. These warnings are generated before YouTube actually processes the uploaded video file. In addition, they identify issues that are unlikely to cause the video processing to fail but that might cause problems such as sync issues, video artifacts, or a missing audio track.
+          "A String",
+        ],
+        "processingHints": [ # A list of suggestions that may improve YouTube's ability to process the video.
+          "A String",
+        ],
+      },
       "id": "A String", # The ID that YouTube uses to uniquely identify the video.
+      "conversionPings": { # The conversionPings object encapsulates information about url pings that need to be respected by the App in different video contexts.
+        "pings": [ # Pings that the app shall fire for a video (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
+          {
+            "conversionUrl": "A String", # The url (without the schema) that the app shall send the ping to. It's at caller's descretion to decide which schema to use (http vs https) Example of a returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D like%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA%3Bytvid%3DUrIaJUvIQDg&labe=default The caller must append biscotti authentication (ms param in case of mobile, for example) to this ping.
+            "context": "A String", # Defines the context of the ping.
+          },
+        ],
+      },
     }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(id, part=None, onBehalfOfContentOwner=None)</code>
+    <code class="details" id="list">list(part=None, pageToken=None, onBehalfOfContentOwner=None, locale=None, chart=None, maxResults=None, videoCategoryId=None, myRating=None, id=None)</code>
   <pre>Returns a list of videos that match the API request parameters.
 
 Args:
-  id: string, The id parameter specifies a comma-separated list of the YouTube video ID(s) for the resource(s) that are being retrieved. In a video resource, the id property specifies the video's ID. (required)
   part: string, The part parameter specifies a comma-separated list of one or more video resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, player, statistics, status, and topicDetails.
 
 If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a video resource, the snippet property contains the channelId, title, description, tags, and categoryId properties. As such, if you set part=snippet, the API response will contain all of those properties. (required)
-  onBehalfOfContentOwner: string, The onBehalfOfContentOwner parameter indicates that the authenticated user is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. 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 actual CMS account that the user authenticates with needs to be linked to the specified YouTube content owner.
+  pageToken: string, USE_DESCRIPTION --- channels:list:pageToken
+  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
+  locale: string, The locale parameter selects a video chart available in the specified locale. If using this parameter, chart must also be set. The parameter value is an BCP 47 locale. Supported locales include ar_AE, ar_DZ, ar_EG, ar_JO, ar_MA, ar_SA, ar_TN, ar_YE, cs_CZ, de_DE, el_GR, en_AU, en_BE, en_CA, en_GB, en_GH, en_IE, en_IL, en_IN, en_KE, en_NG, en_NZ, en_SG, en_UG, en_US, en_ZA, es_AR, es_CL, es_CO, es_ES, es_MX, es_PE, fil_PH, fr_FR, hu_HU, id_ID, it_IT, ja_JP, ko_KR, ms_MY, nl_NL, pl_PL, pt_BR, ru_RU, sv_SE, tr_TR, zh_HK, zh_TW
+  chart: string, Set this parameter's value to mostPopular to instruct the API to return videos belonging to the chart of most popular videos.
+    Allowed values
+      mostPopular - Returns videos belonging to most popular video chart.
+  maxResults: integer, USE_DESCRIPTION --- channels:list:maxResults
+  videoCategoryId: string, The videoCategoryId parameter selects a video chart based on the category. If using this parameter, chart must also be set.
+  myRating: string, Set this parameter's value to like or dislike to instruct the API to only return videos liked or disliked by the authenticated user.
+    Allowed values
+      dislike - Returns only videos disliked by the authenticated user.
+      like - Returns only video liked by the authenticated user.
+  id: string, The id parameter specifies a comma-separated list of the YouTube video ID(s) for the resource(s) that are being retrieved. In a video resource, the id property specifies the video's ID.
 
 Returns:
   An object of the form:
 
     { # A paginated list of videos returned as the response to a youtube.videos.list call.
+    "eventId": "A String", # Serialized EventId of the request which produced this response.
+    "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.
+    "kind": "youtube#videoListResponse", # The type of the API response. For this operation, the value will be youtube#videoListResponse.
+    "visitorId": "A String", # The visitorId identifies the visitor.
     "items": [ # A list of videos that match the request criteria.
       { # A video resource represents a YouTube video.
-          "status": { # The status of a video details the video's upload status and privacy status. # The status object contains information about the video's uploading, processing, and privacy statuses.
+          "status": { # Basic details about a video category, such as its localized title. # The status object contains information about the video's uploading, processing, and privacy statuses.
             "license": "A String", # The video's license.
             "embeddable": True or False, # This value indicates if the video can be embedded on another website.
             "privacyStatus": "A String", # The video's privacy status.
+            "publicStatsViewable": True or False, # This value indicates if the extended video statistics on the watch page can be viewed by everyone. Note that the view count, likes, etc will still be visible if this is disabled.
             "uploadStatus": "A String", # The status of the uploaded video.
             "rejectionReason": "A String", # This value explains why YouTube rejected an uploaded video. This property is only present if the uploadStatus property indicates that the upload was rejected.
             "failureReason": "A String", # This value explains why a video failed to upload. This property is only present if the uploadStatus property indicates that the upload failed.
@@ -485,15 +651,35 @@
             "channelTitle": "A String", # Channel title for the channel that the video belongs to.
             "title": "A String", # The video's title.
             "categoryId": "A String", # The YouTube video category associated with the video.
-            "thumbnails": { # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-              "a_key": { # A thumbnail is an image representing a YouTube resource. # Name of the thumbnail, to easily identify it. The set of names is dependent on the resource the thumbnail is for.
+            "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+              "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+                "url": "A String", # The thumbnail image's URL.
+                "width": 42, # (Optional) Width of the thumbnail image.
+                "height": 42, # (Optional) Height of the thumbnail image.
+              },
+              "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
                 "url": "A String", # The thumbnail image's URL.
                 "width": 42, # (Optional) Width of the thumbnail image.
                 "height": 42, # (Optional) Height of the thumbnail image.
               },
             },
           },
-          "kind": "youtube#video", # The type of the API resource. For video resources, the value will be youtube#video.
+          "kind": "youtube#video", # The kind, fixed to "youtube#video".
           "statistics": { # Statistics about the video, such as the number of times the video was viewed or liked. # The statistics object contains statistics about the video.
             "commentCount": "A String", # The number of comments for the video.
             "viewCount": "A String", # The number of times the video has been viewed.
@@ -502,7 +688,10 @@
             "likeCount": "A String", # The number of users who have indicated that they liked the video by giving it a positive rating.
           },
           "topicDetails": { # Freebase topic information related to the video. # The topicDetails object encapsulates information about Freebase topics associated with the video.
-            "topicIds": [ # A list of Freebase topic IDs associated with the video. You can retrieve information about each topic using the Freebase Topic API.
+            "topicIds": [ # A list of Freebase topic IDs that are centrally associated with the video. These are topics that are centrally featured in the video, and it can be said that the video is mainly about each of these. You can retrieve information about each topic using the Freebase Topic API.
+              "A String",
+            ],
+            "relevantTopicIds": [ # Similar to topic_id, except that these topics are merely relevant to the video. These are topics that may be mentioned in, or appear in the video. You can retrieve information about each topic using Freebase Topic API.
               "A String",
             ],
           },
@@ -522,6 +711,24 @@
               ],
               "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
             },
+            "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. # Specifies the ratings that the video received under various rating schemes.
+              "ytRating": "A String", # Internal YouTube rating.
+              "russiaRating": "A String", # Rating system in Russia
+              "tvpgRating": "A String", # TV Parental Guidelines rating of the content.
+              "cbfcRating": "A String", # Rating system in India - Central Board of Film Certification
+              "acbRating": "A String", # Rating system in Australia - Australian Classification Board
+              "fskRating": "A String", # Rating system in Germany - Voluntary Self Regulation of the Movie Industry
+              "eirinRating": "A String", # Rating system in Japan - Eiga Rinri Kanri Iinkai
+              "bbfcRating": "A String", # British Board of Film Classification
+              "kmrbRating": "A String", # Rating system in South Korea - Korea Media Rating Board
+              "mpaaRating": "A String", # Motion Picture Association of America rating for the content.
+              "icaaRating": "A String", # Rating system in Spain - Instituto de Cinematografia y de las Artes Audiovisuales
+              "fmocRating": "A String", # Rating system in France - French Minister of Culture
+              "chvrsRating": "A String", # Canadian Home Video Rating System
+              "rtcRating": "A String", # Rating system in Mexico - General Directorate of Radio, Television and Cinematography
+              "djctqRating": "A String", # Rating system in Brazil - Department of Justice, Rating, Titles and Qualification
+              "oflcRating": "A String", # Rating system in New Zealand - Office of Film and Literature Classification
+            },
             "caption": "A String", # The value of captions indicates whether the video has captions or not.
             "regionRestriction": { # DEPRECATED Region restriction of the video. # The regionRestriction object contains information about the countries where a video is (or is not) viewable. The object will contain either the contentDetails.regionRestriction.allowed property or the contentDetails.regionRestriction.blocked property.
               "blocked": [ # A list of region codes that identify countries where the video is blocked. If this property is present and a country is not listed in its value, then the video is viewable in that country. If this property is present and contains an empty list, the video is viewable in all countries.
@@ -535,34 +742,17 @@
             "licensedContent": True or False, # The value of is_license_content indicates whether the video is licensed content.
             "dimension": "A String", # The value of dimension indicates whether the video is available in 3D or in 2D.
           },
-          "suggestions": { # Specifies suggestions on how to improve video content, including encoding hints, tag suggestions, and editor suggestions. # The suggestions object encapsulates suggestions that identify opportunities to improve the video quality or the metadata for the uploaded video. This data can only be retrieved by the video owner.
-            "processingErrors": [ # A list of errors that will prevent YouTube from successfully processing the uploaded video video. These errors indicate that, regardless of the video's current processing status, eventually, that status will almost certainly be failed.
-              "A String",
-            ],
-            "tagSuggestions": [ # A list of keyword tags that could be added to the video's metadata to increase the likelihood that users will locate your video when searching or browsing on YouTube.
-              { # A single tag suggestion with it's relevance information.
-                "categoryRestricts": [ # A set of video categories for which the tag is relevant. You can use this information to display appropriate tag suggestions based on the video category that the video uploader associates with the video. By default, tag suggestions are relevant for all categories if there are no restricts defined for the keyword.
-                  "A String",
-                ],
-                "tag": "A String", # The keyword tag suggested for the video.
-              },
-            ],
-            "editorSuggestions": [ # A list of video editing operations that might improve the video quality or playback experience of the uploaded video.
-              "A String",
-            ],
-            "processingWarnings": [ # A list of reasons why YouTube may have difficulty transcoding the uploaded video or that might result in an erroneous transcoding. These warnings are generated before YouTube actually processes the uploaded video file. In addition, they identify issues that are unlikely to cause the video processing to fail but that might cause problems such as sync issues, video artifacts, or a missing audio track.
-              "A String",
-            ],
-            "processingHints": [ # A list of suggestions that may improve YouTube's ability to process the video.
-              "A String",
-            ],
+          "ageGating": { # Age restriction details related to a video.
+            "restricted": True or False, # Age-restricted trailers. For redband trailers and adult-rated video-games. Only users aged 18+ can view the content. The the field is true the content is restricted to viewers aged 18+. Otherwise The field won't be present.
+            "alcoholContent": True or False, # Indicates whether or not the video has alcoholic beverage content. Only users of legal purchasing age in a particular country, as identified by ICAP, can view the content.
+            "videoGameRating": "A String", # Video game rating, if any.
           },
           "fileDetails": { # Describes original video file properties, including technical details about audio and video streams, but also metadata information like content length, digitization time, or geotagging information. # The fileDetails object encapsulates information about the video file that was uploaded to YouTube, including the file's resolution, duration, audio and video codecs, stream bitrates, and more. This data can only be retrieved by the video owner.
             "bitrateBps": "A String", # The uploaded video file's combined (video and audio) bitrate in bits per second.
             "container": "A String", # The uploaded video file's container format.
-            "recordingLocation": { # A geoPoint holds geo location information associated with a YouTube resource. # Geographic coordinates that identify the place where the uploaded video was recorded. Coordinates are defined using WGS 84.
+            "recordingLocation": { # Geographical coordinates of a point, in WGS84. # Geographic coordinates that identify the place where the uploaded video was recorded. Coordinates are defined using WGS 84.
               "latitude": 3.14, # Latitude in degrees.
-              "elevation": 3.14, # Altitude above the Earth, in meters.
+              "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
               "longitude": 3.14, # Longitude in degrees.
             },
             "fileType": "A String", # The uploaded file's type as detected by YouTube's video processing engine. Currently, YouTube only processes video files, but this field is present whether a video file or another type of file was uploaded.
@@ -616,7 +806,7 @@
           "player": { # Player to be used for a video playback. # The player object contains information that you would use to play the video in an embedded player.
             "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the video.
           },
-          "etag": "A String", # The ETag of the video resource.
+          "etag": "A String", # Etag of this resource.
           "projectDetails": { # Project specific details about the content of a YouTube Video. # The projectDetails object contains information about the project specific video metadata.
             "tags": [ # A list of project tags associated with the video during the upload.
               "A String",
@@ -625,21 +815,84 @@
           "recordingDetails": { # Recording information associated with the video. # The recordingDetails object encapsulates information about the location, date and address where the video was recorded.
             "recordingDate": "A String", # The date and time when the video was recorded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
             "locationDescription": "A String", # The text description of the location where the video was recorded.
-            "location": { # A geoPoint holds geo location information associated with a YouTube resource. # The geolocation information associated with the video.
+            "location": { # Geographical coordinates of a point, in WGS84. # The geolocation information associated with the video.
               "latitude": 3.14, # Latitude in degrees.
-              "elevation": 3.14, # Altitude above the Earth, in meters.
+              "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
               "longitude": 3.14, # Longitude in degrees.
             },
           },
+          "suggestions": { # Specifies suggestions on how to improve video content, including encoding hints, tag suggestions, and editor suggestions. # The suggestions object encapsulates suggestions that identify opportunities to improve the video quality or the metadata for the uploaded video. This data can only be retrieved by the video owner.
+            "processingErrors": [ # A list of errors that will prevent YouTube from successfully processing the uploaded video video. These errors indicate that, regardless of the video's current processing status, eventually, that status will almost certainly be failed.
+              "A String",
+            ],
+            "tagSuggestions": [ # A list of keyword tags that could be added to the video's metadata to increase the likelihood that users will locate your video when searching or browsing on YouTube.
+              { # A single tag suggestion with it's relevance information.
+                "categoryRestricts": [ # A set of video categories for which the tag is relevant. You can use this information to display appropriate tag suggestions based on the video category that the video uploader associates with the video. By default, tag suggestions are relevant for all categories if there are no restricts defined for the keyword.
+                  "A String",
+                ],
+                "tag": "A String", # The keyword tag suggested for the video.
+              },
+            ],
+            "editorSuggestions": [ # A list of video editing operations that might improve the video quality or playback experience of the uploaded video.
+              "A String",
+            ],
+            "processingWarnings": [ # A list of reasons why YouTube may have difficulty transcoding the uploaded video or that might result in an erroneous transcoding. These warnings are generated before YouTube actually processes the uploaded video file. In addition, they identify issues that are unlikely to cause the video processing to fail but that might cause problems such as sync issues, video artifacts, or a missing audio track.
+              "A String",
+            ],
+            "processingHints": [ # A list of suggestions that may improve YouTube's ability to process the video.
+              "A String",
+            ],
+          },
           "id": "A String", # The ID that YouTube uses to uniquely identify the video.
+          "conversionPings": { # The conversionPings object encapsulates information about url pings that need to be respected by the App in different video contexts.
+            "pings": [ # Pings that the app shall fire for a video (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
+              {
+                "conversionUrl": "A String", # The url (without the schema) that the app shall send the ping to. It's at caller's descretion to decide which schema to use (http vs https) Example of a returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D like%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA%3Bytvid%3DUrIaJUvIQDg&labe=default The caller must append biscotti authentication (ms param in case of mobile, for example) to this ping.
+                "context": "A String", # Defines the context of the ping.
+              },
+            ],
+          },
         },
     ],
-    "kind": "youtube#videoListResponse", # The type of the API response. For this operation, the value will be youtube#videoListResponse.
     "etag": "A String", # The ETag of the response.
+    "prevPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
+    "pageInfo": { # Paging details for lists of resources, including total number of items available and number of resources returned in a single page. # The pageInfo object encapsulates paging information for the result set.
+      "totalResults": 42, # The total number of results in the result set.
+      "resultsPerPage": 42, # The number of results included in the API response.
+    },
   }</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="rate">rate(id, rating, onBehalfOfContentOwner=None)</code>
+  <pre>Like, dislike, or remove rating from a video.
+
+Args:
+  id: string, The id parameter specifies the YouTube video ID. (required)
+  rating: string, Specifies the rating to record. (required)
+    Allowed values
+      dislike - Records that the authenticated user disliked the video.
+      like - Records that the authenticated user liked the video.
+      none - Removes any vote (like or dislike) the authenticated user had for the video.
+  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
+</pre>
+</div>
+
+<div class="method">
     <code class="details" id="update">update(part=None, body, onBehalfOfContentOwner=None)</code>
   <pre>Updates a video's metadata.
 
@@ -655,10 +908,11 @@
     The object takes the form of:
 
 { # A video resource represents a YouTube video.
-    "status": { # The status of a video details the video's upload status and privacy status. # The status object contains information about the video's uploading, processing, and privacy statuses.
+    "status": { # Basic details about a video category, such as its localized title. # The status object contains information about the video's uploading, processing, and privacy statuses.
       "license": "A String", # The video's license.
       "embeddable": True or False, # This value indicates if the video can be embedded on another website.
       "privacyStatus": "A String", # The video's privacy status.
+      "publicStatsViewable": True or False, # This value indicates if the extended video statistics on the watch page can be viewed by everyone. Note that the view count, likes, etc will still be visible if this is disabled.
       "uploadStatus": "A String", # The status of the uploaded video.
       "rejectionReason": "A String", # This value explains why YouTube rejected an uploaded video. This property is only present if the uploadStatus property indicates that the upload was rejected.
       "failureReason": "A String", # This value explains why a video failed to upload. This property is only present if the uploadStatus property indicates that the upload failed.
@@ -673,15 +927,35 @@
       "channelTitle": "A String", # Channel title for the channel that the video belongs to.
       "title": "A String", # The video's title.
       "categoryId": "A String", # The YouTube video category associated with the video.
-      "thumbnails": { # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-        "a_key": { # A thumbnail is an image representing a YouTube resource. # Name of the thumbnail, to easily identify it. The set of names is dependent on the resource the thumbnail is for.
+      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+          "url": "A String", # The thumbnail image's URL.
+          "width": 42, # (Optional) Width of the thumbnail image.
+          "height": 42, # (Optional) Height of the thumbnail image.
+        },
+        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
           "url": "A String", # The thumbnail image's URL.
           "width": 42, # (Optional) Width of the thumbnail image.
           "height": 42, # (Optional) Height of the thumbnail image.
         },
       },
     },
-    "kind": "youtube#video", # The type of the API resource. For video resources, the value will be youtube#video.
+    "kind": "youtube#video", # The kind, fixed to "youtube#video".
     "statistics": { # Statistics about the video, such as the number of times the video was viewed or liked. # The statistics object contains statistics about the video.
       "commentCount": "A String", # The number of comments for the video.
       "viewCount": "A String", # The number of times the video has been viewed.
@@ -690,7 +964,10 @@
       "likeCount": "A String", # The number of users who have indicated that they liked the video by giving it a positive rating.
     },
     "topicDetails": { # Freebase topic information related to the video. # The topicDetails object encapsulates information about Freebase topics associated with the video.
-      "topicIds": [ # A list of Freebase topic IDs associated with the video. You can retrieve information about each topic using the Freebase Topic API.
+      "topicIds": [ # A list of Freebase topic IDs that are centrally associated with the video. These are topics that are centrally featured in the video, and it can be said that the video is mainly about each of these. You can retrieve information about each topic using the Freebase Topic API.
+        "A String",
+      ],
+      "relevantTopicIds": [ # Similar to topic_id, except that these topics are merely relevant to the video. These are topics that may be mentioned in, or appear in the video. You can retrieve information about each topic using Freebase Topic API.
         "A String",
       ],
     },
@@ -710,6 +987,24 @@
         ],
         "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
       },
+      "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. # Specifies the ratings that the video received under various rating schemes.
+        "ytRating": "A String", # Internal YouTube rating.
+        "russiaRating": "A String", # Rating system in Russia
+        "tvpgRating": "A String", # TV Parental Guidelines rating of the content.
+        "cbfcRating": "A String", # Rating system in India - Central Board of Film Certification
+        "acbRating": "A String", # Rating system in Australia - Australian Classification Board
+        "fskRating": "A String", # Rating system in Germany - Voluntary Self Regulation of the Movie Industry
+        "eirinRating": "A String", # Rating system in Japan - Eiga Rinri Kanri Iinkai
+        "bbfcRating": "A String", # British Board of Film Classification
+        "kmrbRating": "A String", # Rating system in South Korea - Korea Media Rating Board
+        "mpaaRating": "A String", # Motion Picture Association of America rating for the content.
+        "icaaRating": "A String", # Rating system in Spain - Instituto de Cinematografia y de las Artes Audiovisuales
+        "fmocRating": "A String", # Rating system in France - French Minister of Culture
+        "chvrsRating": "A String", # Canadian Home Video Rating System
+        "rtcRating": "A String", # Rating system in Mexico - General Directorate of Radio, Television and Cinematography
+        "djctqRating": "A String", # Rating system in Brazil - Department of Justice, Rating, Titles and Qualification
+        "oflcRating": "A String", # Rating system in New Zealand - Office of Film and Literature Classification
+      },
       "caption": "A String", # The value of captions indicates whether the video has captions or not.
       "regionRestriction": { # DEPRECATED Region restriction of the video. # The regionRestriction object contains information about the countries where a video is (or is not) viewable. The object will contain either the contentDetails.regionRestriction.allowed property or the contentDetails.regionRestriction.blocked property.
         "blocked": [ # A list of region codes that identify countries where the video is blocked. If this property is present and a country is not listed in its value, then the video is viewable in that country. If this property is present and contains an empty list, the video is viewable in all countries.
@@ -723,34 +1018,17 @@
       "licensedContent": True or False, # The value of is_license_content indicates whether the video is licensed content.
       "dimension": "A String", # The value of dimension indicates whether the video is available in 3D or in 2D.
     },
-    "suggestions": { # Specifies suggestions on how to improve video content, including encoding hints, tag suggestions, and editor suggestions. # The suggestions object encapsulates suggestions that identify opportunities to improve the video quality or the metadata for the uploaded video. This data can only be retrieved by the video owner.
-      "processingErrors": [ # A list of errors that will prevent YouTube from successfully processing the uploaded video video. These errors indicate that, regardless of the video's current processing status, eventually, that status will almost certainly be failed.
-        "A String",
-      ],
-      "tagSuggestions": [ # A list of keyword tags that could be added to the video's metadata to increase the likelihood that users will locate your video when searching or browsing on YouTube.
-        { # A single tag suggestion with it's relevance information.
-          "categoryRestricts": [ # A set of video categories for which the tag is relevant. You can use this information to display appropriate tag suggestions based on the video category that the video uploader associates with the video. By default, tag suggestions are relevant for all categories if there are no restricts defined for the keyword.
-            "A String",
-          ],
-          "tag": "A String", # The keyword tag suggested for the video.
-        },
-      ],
-      "editorSuggestions": [ # A list of video editing operations that might improve the video quality or playback experience of the uploaded video.
-        "A String",
-      ],
-      "processingWarnings": [ # A list of reasons why YouTube may have difficulty transcoding the uploaded video or that might result in an erroneous transcoding. These warnings are generated before YouTube actually processes the uploaded video file. In addition, they identify issues that are unlikely to cause the video processing to fail but that might cause problems such as sync issues, video artifacts, or a missing audio track.
-        "A String",
-      ],
-      "processingHints": [ # A list of suggestions that may improve YouTube's ability to process the video.
-        "A String",
-      ],
+    "ageGating": { # Age restriction details related to a video.
+      "restricted": True or False, # Age-restricted trailers. For redband trailers and adult-rated video-games. Only users aged 18+ can view the content. The the field is true the content is restricted to viewers aged 18+. Otherwise The field won't be present.
+      "alcoholContent": True or False, # Indicates whether or not the video has alcoholic beverage content. Only users of legal purchasing age in a particular country, as identified by ICAP, can view the content.
+      "videoGameRating": "A String", # Video game rating, if any.
     },
     "fileDetails": { # Describes original video file properties, including technical details about audio and video streams, but also metadata information like content length, digitization time, or geotagging information. # The fileDetails object encapsulates information about the video file that was uploaded to YouTube, including the file's resolution, duration, audio and video codecs, stream bitrates, and more. This data can only be retrieved by the video owner.
       "bitrateBps": "A String", # The uploaded video file's combined (video and audio) bitrate in bits per second.
       "container": "A String", # The uploaded video file's container format.
-      "recordingLocation": { # A geoPoint holds geo location information associated with a YouTube resource. # Geographic coordinates that identify the place where the uploaded video was recorded. Coordinates are defined using WGS 84.
+      "recordingLocation": { # Geographical coordinates of a point, in WGS84. # Geographic coordinates that identify the place where the uploaded video was recorded. Coordinates are defined using WGS 84.
         "latitude": 3.14, # Latitude in degrees.
-        "elevation": 3.14, # Altitude above the Earth, in meters.
+        "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
         "longitude": 3.14, # Longitude in degrees.
       },
       "fileType": "A String", # The uploaded file's type as detected by YouTube's video processing engine. Currently, YouTube only processes video files, but this field is present whether a video file or another type of file was uploaded.
@@ -804,7 +1082,7 @@
     "player": { # Player to be used for a video playback. # The player object contains information that you would use to play the video in an embedded player.
       "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the video.
     },
-    "etag": "A String", # The ETag of the video resource.
+    "etag": "A String", # Etag of this resource.
     "projectDetails": { # Project specific details about the content of a YouTube Video. # The projectDetails object contains information about the project specific video metadata.
       "tags": [ # A list of project tags associated with the video during the upload.
         "A String",
@@ -813,25 +1091,56 @@
     "recordingDetails": { # Recording information associated with the video. # The recordingDetails object encapsulates information about the location, date and address where the video was recorded.
       "recordingDate": "A String", # The date and time when the video was recorded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
       "locationDescription": "A String", # The text description of the location where the video was recorded.
-      "location": { # A geoPoint holds geo location information associated with a YouTube resource. # The geolocation information associated with the video.
+      "location": { # Geographical coordinates of a point, in WGS84. # The geolocation information associated with the video.
         "latitude": 3.14, # Latitude in degrees.
-        "elevation": 3.14, # Altitude above the Earth, in meters.
+        "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
         "longitude": 3.14, # Longitude in degrees.
       },
     },
+    "suggestions": { # Specifies suggestions on how to improve video content, including encoding hints, tag suggestions, and editor suggestions. # The suggestions object encapsulates suggestions that identify opportunities to improve the video quality or the metadata for the uploaded video. This data can only be retrieved by the video owner.
+      "processingErrors": [ # A list of errors that will prevent YouTube from successfully processing the uploaded video video. These errors indicate that, regardless of the video's current processing status, eventually, that status will almost certainly be failed.
+        "A String",
+      ],
+      "tagSuggestions": [ # A list of keyword tags that could be added to the video's metadata to increase the likelihood that users will locate your video when searching or browsing on YouTube.
+        { # A single tag suggestion with it's relevance information.
+          "categoryRestricts": [ # A set of video categories for which the tag is relevant. You can use this information to display appropriate tag suggestions based on the video category that the video uploader associates with the video. By default, tag suggestions are relevant for all categories if there are no restricts defined for the keyword.
+            "A String",
+          ],
+          "tag": "A String", # The keyword tag suggested for the video.
+        },
+      ],
+      "editorSuggestions": [ # A list of video editing operations that might improve the video quality or playback experience of the uploaded video.
+        "A String",
+      ],
+      "processingWarnings": [ # A list of reasons why YouTube may have difficulty transcoding the uploaded video or that might result in an erroneous transcoding. These warnings are generated before YouTube actually processes the uploaded video file. In addition, they identify issues that are unlikely to cause the video processing to fail but that might cause problems such as sync issues, video artifacts, or a missing audio track.
+        "A String",
+      ],
+      "processingHints": [ # A list of suggestions that may improve YouTube's ability to process the video.
+        "A String",
+      ],
+    },
     "id": "A String", # The ID that YouTube uses to uniquely identify the video.
+    "conversionPings": { # The conversionPings object encapsulates information about url pings that need to be respected by the App in different video contexts.
+      "pings": [ # Pings that the app shall fire for a video (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
+        {
+          "conversionUrl": "A String", # The url (without the schema) that the app shall send the ping to. It's at caller's descretion to decide which schema to use (http vs https) Example of a returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D like%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA%3Bytvid%3DUrIaJUvIQDg&labe=default The caller must append biscotti authentication (ms param in case of mobile, for example) to this ping.
+          "context": "A String", # Defines the context of the ping.
+        },
+      ],
+    },
   }
 
-  onBehalfOfContentOwner: string, The onBehalfOfContentOwner parameter indicates that the authenticated user is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. 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 actual CMS account that the user authenticates with needs to be linked to the specified YouTube content owner.
+  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
 
 Returns:
   An object of the form:
 
     { # A video resource represents a YouTube video.
-      "status": { # The status of a video details the video's upload status and privacy status. # The status object contains information about the video's uploading, processing, and privacy statuses.
+      "status": { # Basic details about a video category, such as its localized title. # The status object contains information about the video's uploading, processing, and privacy statuses.
         "license": "A String", # The video's license.
         "embeddable": True or False, # This value indicates if the video can be embedded on another website.
         "privacyStatus": "A String", # The video's privacy status.
+        "publicStatsViewable": True or False, # This value indicates if the extended video statistics on the watch page can be viewed by everyone. Note that the view count, likes, etc will still be visible if this is disabled.
         "uploadStatus": "A String", # The status of the uploaded video.
         "rejectionReason": "A String", # This value explains why YouTube rejected an uploaded video. This property is only present if the uploadStatus property indicates that the upload was rejected.
         "failureReason": "A String", # This value explains why a video failed to upload. This property is only present if the uploadStatus property indicates that the upload failed.
@@ -846,15 +1155,35 @@
         "channelTitle": "A String", # Channel title for the channel that the video belongs to.
         "title": "A String", # The video's title.
         "categoryId": "A String", # The YouTube video category associated with the video.
-        "thumbnails": { # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
-          "a_key": { # A thumbnail is an image representing a YouTube resource. # Name of the thumbnail, to easily identify it. The set of names is dependent on the resource the thumbnail is for.
+        "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
+          "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
+            "url": "A String", # The thumbnail image's URL.
+            "width": 42, # (Optional) Width of the thumbnail image.
+            "height": 42, # (Optional) Height of the thumbnail image.
+          },
+          "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
             "url": "A String", # The thumbnail image's URL.
             "width": 42, # (Optional) Width of the thumbnail image.
             "height": 42, # (Optional) Height of the thumbnail image.
           },
         },
       },
-      "kind": "youtube#video", # The type of the API resource. For video resources, the value will be youtube#video.
+      "kind": "youtube#video", # The kind, fixed to "youtube#video".
       "statistics": { # Statistics about the video, such as the number of times the video was viewed or liked. # The statistics object contains statistics about the video.
         "commentCount": "A String", # The number of comments for the video.
         "viewCount": "A String", # The number of times the video has been viewed.
@@ -863,7 +1192,10 @@
         "likeCount": "A String", # The number of users who have indicated that they liked the video by giving it a positive rating.
       },
       "topicDetails": { # Freebase topic information related to the video. # The topicDetails object encapsulates information about Freebase topics associated with the video.
-        "topicIds": [ # A list of Freebase topic IDs associated with the video. You can retrieve information about each topic using the Freebase Topic API.
+        "topicIds": [ # A list of Freebase topic IDs that are centrally associated with the video. These are topics that are centrally featured in the video, and it can be said that the video is mainly about each of these. You can retrieve information about each topic using the Freebase Topic API.
+          "A String",
+        ],
+        "relevantTopicIds": [ # Similar to topic_id, except that these topics are merely relevant to the video. These are topics that may be mentioned in, or appear in the video. You can retrieve information about each topic using Freebase Topic API.
           "A String",
         ],
       },
@@ -883,6 +1215,24 @@
           ],
           "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
         },
+        "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. # Specifies the ratings that the video received under various rating schemes.
+          "ytRating": "A String", # Internal YouTube rating.
+          "russiaRating": "A String", # Rating system in Russia
+          "tvpgRating": "A String", # TV Parental Guidelines rating of the content.
+          "cbfcRating": "A String", # Rating system in India - Central Board of Film Certification
+          "acbRating": "A String", # Rating system in Australia - Australian Classification Board
+          "fskRating": "A String", # Rating system in Germany - Voluntary Self Regulation of the Movie Industry
+          "eirinRating": "A String", # Rating system in Japan - Eiga Rinri Kanri Iinkai
+          "bbfcRating": "A String", # British Board of Film Classification
+          "kmrbRating": "A String", # Rating system in South Korea - Korea Media Rating Board
+          "mpaaRating": "A String", # Motion Picture Association of America rating for the content.
+          "icaaRating": "A String", # Rating system in Spain - Instituto de Cinematografia y de las Artes Audiovisuales
+          "fmocRating": "A String", # Rating system in France - French Minister of Culture
+          "chvrsRating": "A String", # Canadian Home Video Rating System
+          "rtcRating": "A String", # Rating system in Mexico - General Directorate of Radio, Television and Cinematography
+          "djctqRating": "A String", # Rating system in Brazil - Department of Justice, Rating, Titles and Qualification
+          "oflcRating": "A String", # Rating system in New Zealand - Office of Film and Literature Classification
+        },
         "caption": "A String", # The value of captions indicates whether the video has captions or not.
         "regionRestriction": { # DEPRECATED Region restriction of the video. # The regionRestriction object contains information about the countries where a video is (or is not) viewable. The object will contain either the contentDetails.regionRestriction.allowed property or the contentDetails.regionRestriction.blocked property.
           "blocked": [ # A list of region codes that identify countries where the video is blocked. If this property is present and a country is not listed in its value, then the video is viewable in that country. If this property is present and contains an empty list, the video is viewable in all countries.
@@ -896,34 +1246,17 @@
         "licensedContent": True or False, # The value of is_license_content indicates whether the video is licensed content.
         "dimension": "A String", # The value of dimension indicates whether the video is available in 3D or in 2D.
       },
-      "suggestions": { # Specifies suggestions on how to improve video content, including encoding hints, tag suggestions, and editor suggestions. # The suggestions object encapsulates suggestions that identify opportunities to improve the video quality or the metadata for the uploaded video. This data can only be retrieved by the video owner.
-        "processingErrors": [ # A list of errors that will prevent YouTube from successfully processing the uploaded video video. These errors indicate that, regardless of the video's current processing status, eventually, that status will almost certainly be failed.
-          "A String",
-        ],
-        "tagSuggestions": [ # A list of keyword tags that could be added to the video's metadata to increase the likelihood that users will locate your video when searching or browsing on YouTube.
-          { # A single tag suggestion with it's relevance information.
-            "categoryRestricts": [ # A set of video categories for which the tag is relevant. You can use this information to display appropriate tag suggestions based on the video category that the video uploader associates with the video. By default, tag suggestions are relevant for all categories if there are no restricts defined for the keyword.
-              "A String",
-            ],
-            "tag": "A String", # The keyword tag suggested for the video.
-          },
-        ],
-        "editorSuggestions": [ # A list of video editing operations that might improve the video quality or playback experience of the uploaded video.
-          "A String",
-        ],
-        "processingWarnings": [ # A list of reasons why YouTube may have difficulty transcoding the uploaded video or that might result in an erroneous transcoding. These warnings are generated before YouTube actually processes the uploaded video file. In addition, they identify issues that are unlikely to cause the video processing to fail but that might cause problems such as sync issues, video artifacts, or a missing audio track.
-          "A String",
-        ],
-        "processingHints": [ # A list of suggestions that may improve YouTube's ability to process the video.
-          "A String",
-        ],
+      "ageGating": { # Age restriction details related to a video.
+        "restricted": True or False, # Age-restricted trailers. For redband trailers and adult-rated video-games. Only users aged 18+ can view the content. The the field is true the content is restricted to viewers aged 18+. Otherwise The field won't be present.
+        "alcoholContent": True or False, # Indicates whether or not the video has alcoholic beverage content. Only users of legal purchasing age in a particular country, as identified by ICAP, can view the content.
+        "videoGameRating": "A String", # Video game rating, if any.
       },
       "fileDetails": { # Describes original video file properties, including technical details about audio and video streams, but also metadata information like content length, digitization time, or geotagging information. # The fileDetails object encapsulates information about the video file that was uploaded to YouTube, including the file's resolution, duration, audio and video codecs, stream bitrates, and more. This data can only be retrieved by the video owner.
         "bitrateBps": "A String", # The uploaded video file's combined (video and audio) bitrate in bits per second.
         "container": "A String", # The uploaded video file's container format.
-        "recordingLocation": { # A geoPoint holds geo location information associated with a YouTube resource. # Geographic coordinates that identify the place where the uploaded video was recorded. Coordinates are defined using WGS 84.
+        "recordingLocation": { # Geographical coordinates of a point, in WGS84. # Geographic coordinates that identify the place where the uploaded video was recorded. Coordinates are defined using WGS 84.
           "latitude": 3.14, # Latitude in degrees.
-          "elevation": 3.14, # Altitude above the Earth, in meters.
+          "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
           "longitude": 3.14, # Longitude in degrees.
         },
         "fileType": "A String", # The uploaded file's type as detected by YouTube's video processing engine. Currently, YouTube only processes video files, but this field is present whether a video file or another type of file was uploaded.
@@ -977,7 +1310,7 @@
       "player": { # Player to be used for a video playback. # The player object contains information that you would use to play the video in an embedded player.
         "embedHtml": "A String", # An <iframe> tag that embeds a player that will play the video.
       },
-      "etag": "A String", # The ETag of the video resource.
+      "etag": "A String", # Etag of this resource.
       "projectDetails": { # Project specific details about the content of a YouTube Video. # The projectDetails object contains information about the project specific video metadata.
         "tags": [ # A list of project tags associated with the video during the upload.
           "A String",
@@ -986,13 +1319,43 @@
       "recordingDetails": { # Recording information associated with the video. # The recordingDetails object encapsulates information about the location, date and address where the video was recorded.
         "recordingDate": "A String", # The date and time when the video was recorded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
         "locationDescription": "A String", # The text description of the location where the video was recorded.
-        "location": { # A geoPoint holds geo location information associated with a YouTube resource. # The geolocation information associated with the video.
+        "location": { # Geographical coordinates of a point, in WGS84. # The geolocation information associated with the video.
           "latitude": 3.14, # Latitude in degrees.
-          "elevation": 3.14, # Altitude above the Earth, in meters.
+          "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
           "longitude": 3.14, # Longitude in degrees.
         },
       },
+      "suggestions": { # Specifies suggestions on how to improve video content, including encoding hints, tag suggestions, and editor suggestions. # The suggestions object encapsulates suggestions that identify opportunities to improve the video quality or the metadata for the uploaded video. This data can only be retrieved by the video owner.
+        "processingErrors": [ # A list of errors that will prevent YouTube from successfully processing the uploaded video video. These errors indicate that, regardless of the video's current processing status, eventually, that status will almost certainly be failed.
+          "A String",
+        ],
+        "tagSuggestions": [ # A list of keyword tags that could be added to the video's metadata to increase the likelihood that users will locate your video when searching or browsing on YouTube.
+          { # A single tag suggestion with it's relevance information.
+            "categoryRestricts": [ # A set of video categories for which the tag is relevant. You can use this information to display appropriate tag suggestions based on the video category that the video uploader associates with the video. By default, tag suggestions are relevant for all categories if there are no restricts defined for the keyword.
+              "A String",
+            ],
+            "tag": "A String", # The keyword tag suggested for the video.
+          },
+        ],
+        "editorSuggestions": [ # A list of video editing operations that might improve the video quality or playback experience of the uploaded video.
+          "A String",
+        ],
+        "processingWarnings": [ # A list of reasons why YouTube may have difficulty transcoding the uploaded video or that might result in an erroneous transcoding. These warnings are generated before YouTube actually processes the uploaded video file. In addition, they identify issues that are unlikely to cause the video processing to fail but that might cause problems such as sync issues, video artifacts, or a missing audio track.
+          "A String",
+        ],
+        "processingHints": [ # A list of suggestions that may improve YouTube's ability to process the video.
+          "A String",
+        ],
+      },
       "id": "A String", # The ID that YouTube uses to uniquely identify the video.
+      "conversionPings": { # The conversionPings object encapsulates information about url pings that need to be respected by the App in different video contexts.
+        "pings": [ # Pings that the app shall fire for a video (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
+          {
+            "conversionUrl": "A String", # The url (without the schema) that the app shall send the ping to. It's at caller's descretion to decide which schema to use (http vs https) Example of a returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D like%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA%3Bytvid%3DUrIaJUvIQDg&labe=default The caller must append biscotti authentication (ms param in case of mobile, for example) to this ping.
+            "context": "A String", # Defines the context of the ping.
+          },
+        ],
+      },
     }</pre>
 </div>
 
